Dynamically generating and updating multipliers for a transportation matching system using machine learning

ABSTRACT

This disclosure covers machine-learning methods, non-transitory computer readable media, and systems that generate a multiplier that efficiently and effectively provides on-demand transportation services for a geographic area. The methods, non-transitory computer readable media, and systems dynamically adjust the multiplier with machine learners to maintain a target estimated time of arrival for a provider device to fulfill a request received from a requestor device. In some embodiments, the methods, non-transitory computer readable media, and systems generate a multiplier report comprising a representation of a geographic area and an indication of the multiplier to facilitate inflow and outflow of provider devices within and without the geographic area.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.16/921,698, filed on Jul. 6, 2020, which is a continuation of U.S.application Ser. No. 15/810,028, filed on Nov. 11, 2017, now U.S. Pat.No. 10,706,487, granted Jul. 7, 2020. The aforementioned applicationsare hereby incorporated by reference in their entirety.

BACKGROUND

Service matching systems increasingly use web and mobile applications tomanage on-demand requests for transportation. Some on-demand servicematching systems, for example, receive requests from persons through amobile application requesting transportation from one geographic area toanother geographic area. To fulfill such requests, on-demand servicematching systems traditionally use a computational model that matchesnearby transportation vehicles with requests from persons seekingtransportation. By efficiently matching nearby transportation vehicleswith requests, on-demand service matching systems can use acomputational model to reduce an estimated time of arrival of atransportation vehicle to a requestor's location.

Some conventional on-demand service matching systems use staticcomputational models to match requests with nearby providers oftransportation vehicles, such as drivers. Static computational modelsoften cannot efficiently match requests with providers during volatileor high-volume time periods of requests. In other words, existing staticcomputational models lack the ability to adjust the computational logicthat matches transportation vehicles with requestors—while maintainingreasonable estimated times of arrival—when requests reach high volumesor rapidly vary in volume.

Accordingly, conventional on-demand service matching systems may createproblems for both people requesting transportation vehicles and driversproviding transportation vehicles. For example, conventional on-demandservice matching systems may rigidly and too quickly dispatchtransportation vehicles to requestors based on a static computationalmodel without adjusting for an increase in request volumes or decreasein available transportation vehicles. By employing static computationalmodels, on-demand service matching systems often too quickly dispatchtransportation vehicles and leave some requestors with either anexcessive estimated time of arrival or no available transportationvehicle to satisfy the request.

SUMMARY

This disclosure describes one or more embodiments of methods,non-transitory computer readable media, and systems that solve theforegoing problems in addition to providing other benefits. While thissummary refers to systems for simplicity, the summary also applies tocertain disclosed methods and non-transitory computer readable media. Tosolve the foregoing and other problems, the disclosed machine-learningsystems generate a multiplier that efficiently and effectively provideson-demand transportation services for a geographic area. The systemsdynamically adjust the multiplier with machine learners to maintain atarget estimated time of arrival for a provider device to fulfill arequest received from a requestor device. In some embodiments, thedisclosed systems generate a multiplier report comprising arepresentation of a geographic area and an indication of the multiplierto facilitate inflow and outflow of transportation vehicles within andwithout the geographic area.

In some embodiments, for instance, the systems use different machinelearners to generate parameters that aid in determining a multiplier fora geographic area and a time period. A first machine learner generatesparameters that define an arrival-time probability distribution of anumber of reserve transportation vehicles required to maintain a targetestimated time of arrival. A second machine learner generates parametersthat define a number of transportation requests a dynamic transportationmatching system can process while maintaining the number of reservetransportation vehicles. A third machine learner generates parametersthat define a conversion probability distribution identifyingmultipliers that induce the number of transportation requests. Usingeach of the parameters, the systems determine a multiplier for thegeographic area and the time period. The disclosed systems thenoptionally generate a multiplier report comprising a representation ofthe geographic area and an indication of the multiplier for thegeographic area.

The disclosed systems avoid the limits and rigidity of conventionalon-demand service matching systems. By generating a multiplier thatfacilitates allocation of transportation vehicles, the disclosed systemsdynamically generate and adjust computational parameters to matchtransportation vehicles with transportation requests from requestordevices—while maintaining target estimated times of arrival—whentransportation requests reach high volumes or rapidly vary. Unlikestatic computational models, the multiple machine learners enable thedisclosed systems to adjust both computational parameters andtransportation vehicles for increases in request volumes or decreases inavailable transportation requests.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description refers to the drawings briefly described below.

FIG. 1 illustrates a block diagram of an environment for implementing adynamic transportation matching system in accordance with one or moreembodiments.

FIG. 2 illustrates a dynamic transportation matching system comprisingmachine learners and generating multiplier reports in accordance withone or more embodiments.

FIGS. 3A-3B illustrate a geographic neighborhood that includes ageographic area in accordance with one or more embodiments.

FIG. 4 illustrates a graphical user interface of a provider clientdevice presenting a multiplier report in accordance with one or moreembodiments.

FIG. 5 illustrates a graphical user interface of a requestor clientdevice presenting a price estimate that accounts for a multiplier andtransportation-request option in accordance with one or moreembodiments.

FIG. 6 illustrates a flowchart of a series of acts in a method of usingmachine learners to generate parameters for determining a multiplierthat facilitates movement of transportation vehicles in and out of ageographic area during a time period in accordance with one or moreembodiments.

FIG. 7 illustrates a block diagram of a computing device in accordancewith one or more embodiments.

FIG. 8 illustrates an example environment for a dynamic transportationmatching system in accordance with one or more embodiments.

DETAILED DESCRIPTION

This disclosure describes a dynamic transportation matching system thatapplies machine learning to generate a multiplier for facilitatingmovement of provider devices in and out of a geographic area during atime period. In particular, a dynamic transportation matching systemdynamically adjusts a multiplier with machine learners to attractproviders of transportation vehicles to a geographic area and maintain atarget estimated time of arrival for pickup in response to requestsreceived from requestor devices. In some embodiments, the systemgenerates a multiplier report comprising a representation of thegeographic area and an indication of the multiplier to facilitate inflowand outflow of transportation vehicles within and without the geographicarea.

In some embodiments, for instance, the system uses machine learners togenerate parameters that aid in determining a multiplier for ageographic area and a time period. A first machine learner generatesefficiency parameters that define an arrival-time probabilitydistribution of a number of reserve transportation vehicles required tomaintain a target estimated time of arrival for the geographic area andthe time period. A second machine learner generates supply parametersthat define a number of transportation requests a dynamic transportationmatching system can process while maintaining the number of reservetransportation vehicles. A third machine learner generates conversionparameters that define a conversion probability distribution identifyingmultipliers that induce the number of transportation requests. Based oneach of the parameters, the dynamic transportation matching systemdetermines a multiplier for the geographic area and the time period. Insome embodiments, the dynamic transportation matching system generates amultiplier report comprising a representation of the geographic area andan indication of the multiplier for the geographic area.

To train the first machine learner to generate the efficiencyparameters, the dynamic transportation matching system optionallyinputs, for certain time periods of a specific geographic area, a numberof available transportation vehicles and estimated times of arrivalprovided to potential requestors. The first machine learner then appliesan algorithm to these inputs to generate efficiency parameters, such asby applying a stochastic gradient descent to the inputs. In someembodiments, the first machine learner generates an efficiency parameterrepresenting a mean for the arrival-time probability distribution, anefficiency parameter representing a variance for the arrival-timeprobability distribution, and an efficiency parameter estimating anumber of available transportation vehicles outside of an aggregationradius but inside a dispatch radius. In certain embodiments, the firstmachine learner uses online machine learning to update the efficiencyparameters as it determines updated inputs for additional time periods.

By contrast, when training the second machine learner to generate thesupply parameters, the dynamic transportation matching system optionallyinputs, for certain time periods of a specific geographic neighborhood,a number of transportation requests and a number of availabletransportation vehicles. The second machine learner then applies analgorithm to these inputs to generate supply parameters, such as byapplying a Kalman filter to the inputs. In some embodiments, the secondmachine learner generates a supply parameter representing an estimatednet inflow of transportation vehicles and a supply parameterrepresenting an estimated average number of transportation requests atransportation vehicle can support for a geographic neighborhood duringa time period. In certain embodiments, the second machine learner usesonline machine learning to update the supply parameters as it determinesupdated inputs for additional time periods.

As for training the third machine learner to generate the conversionparameters, the dynamic transportation matching system optionallyinputs, for certain time periods of a geographic neighborhood, numbersof potential requestors whose client device sent a price query fortransportation, price estimates accounting for prior-applied multipliersprovided to each potential requestor, and conversion rates of potentialrequestors who submit transportation requests. The third machine learnerthen applies an algorithm to these inputs to generate conversionparameters, such as by applying a Kalman filter to the inputs. In someembodiments, the third machine learner generates a conversion parameterrepresenting a transportation-request probability of receiving atransportation request when the multiplier does not affect a base pricefor the geographic area during the time period and a conversionparameter representing a rate at which the transportation-requestprobability decreases as the multiplier increases. In certainembodiments, the first machine learner uses online machine learning toupdate the conversion parameters as it determines updated inputs foradditional time periods.

As noted above, the disclosed dynamic transportation matching systemdetermines a multiplier for a geographic area and a time period. In someembodiments, the dynamic transportation matching system inputs theefficiency parameters, supply parameters, and conversion parameters intoa multiplier model. Based on these parameters, the multiplier modeldetermines a multiplier for the geographic area and time period. Thismultiplier affects the price estimates that the dynamic transportationmatching system sends to potential requestors of transportation. Forexample, the dynamic transportation matching system applies themultiplier to a base price for a geographic area when providing a priceestimate to potential requestors of a transportation vehicle.

The dynamic transportation matching system also optionally uses themultiplier in a multiplier report to facilitate the movement oftransportation vehicles in and out of a geographic area. For example, incertain embodiments, the dynamic transportation matching systemgenerates a multiplier report comprising a representation of thegeographic area and an indication of the multiplier. In one particularembodiment, the dynamic transportation matching system generates a mapfor transportation vehicles comprising a representation of thegeographic area and a color indicator for the multiplier for thegeographic area. Whether the indicator for the multiplier be color orsome other indicator, the indicator signals to providers the multiplierthat the dynamic transportation matching system applies to a base pricewhen the dynamic transportation matching system charges a requestor fortransportation originating from the geographic area.

As also noted above, conventional on-demand service matching systemsoften use static computational models that are ill suited to matchrequests with transportation vehicles. Static computational models areparticularly inefficient at matching requests with transportationvehicles when either transportation vehicles (or transportationrequests) unexpectedly vary or rapidly increase. For example, when aconventional on-demand service matching system receives instantaneous ornear-instantaneous requests from persons seeking transportation, somestatic computational models cannot handle high or fluctuating volumes ofrequests while also maintaining target estimated arrival times within ageographic area. In particular, a static computational model may usestatic parameters that a conventional on-demand service matching systemcannot update to determine a multiplier applied to a base price for aspecific geographic area.

The disclosed dynamic transportation matching system, however, avoidsthe limits and rigidity of conventional on-demand service matchingsystems. By using multiple machine learners to dynamically generate andadjust computational parameters, the disclosed dynamic transportationmatching system determines a multiplier that facilitates an efficientallocation of transportation vehicles and maintains target estimatedtimes of arrival. When transportation requests reach high volumes oravailable transportation vehicles unexpectedly decrease, the discloseddynamic transportation matching system uses the machine learners toadjust parameters and produce a multiplier to apply to a base price fora specific geographic area. Unlike the inflexible parameters of a staticcomputational model, the machine learners of the disclosed dynamictransportation matching system dynamically adjust parameters fordifferent time periods.

Turning now to the figures, FIG. 1 illustrates a schematic diagram of anenvironment 100 for implementing a dynamic transportation matchingsystem 102 in accordance with one or more embodiments. This disclosureprovides an overview of the dynamic transportation matching system 102with reference to FIG. 1 . After providing an overview, the disclosuredescribes components and processes of the dynamic transportationmatching system 102 in further detail with reference to subsequentfigures.

As shown in FIG. 1 , the environment 100 includes the dynamictransportation matching system 102, vehicle subsystems 108 a through 108n, requestor client devices 114 a through 114 n, requestors 118 athrough 118 n, and a network 120. The dynamic transportation matchingsystem 102 uses server(s) 104 to communicate with one or both of thevehicle subsystems 108 a-108 n and the requestor client devices 114a-114 n via the network 120. For example, the dynamic transportationmatching system 102 communicates with the provider client devices 110a-110 n and the requestor client devices 114 a-114 n via the network 120to determine locations of the provider client devices 110 a-110 n andthe requestor client devices 114 a-114 n, respectively. Per devicesettings, for instance, the dynamic transportation matching system 102may receive location coordinates from the provider client devices 110a-110 n and/or the requestor client device 114 a-114 n, respectively.Based on the location coordinates, the dynamic transportation matchingsystem 102 determines the geographic area in which the provider clientdevices 110 a-110 n and/or the requestor client devices 114 a-114 n arelocated.

As used in this disclosure, the term “geographic area” refers to aspatial subdivision or unit of a larger geographic space. A geographicarea may be a subdivision of a geographic neighborhood as well as asubdivision of a city. For example, a set of bordering streets maydefine a geographic area within a larger space, such as Chinatown of SanFrancisco, Calif. or Tribeca of New York City, N.Y. In certainembodiments, a geographic area represents a geohash among othergeohashes in a grid covering a larger geographic space. Relatedly, theterm “geographic neighborhood” refers to a geographic region thatincludes multiple geographic areas. Regardless of the form of ageographic area, one or more requestors or providers may be locatedwithin a geographic area. As described below, FIGS. 3A and 3B depict anexample of a geographic area.

The term “requestor” refers to person (or group of people) who request aride or other form of transportation from a dynamic transportationmatching system. A requestor may refer to a person who requests a rideor other form of transportation but who is still waiting for pickup. Arequestor may also refer to a person whom a transportation vehicle haspicked up and who is currently riding within the transportation vehicleto a destination (e.g., a destination indicated by a requestor). Asshown in FIG. 1 , each of the requestors 118 a-118 n are respectivelyassociated with the requestor client devices 114 a-114 n.

Accordingly, the term “requestor client device” refers to a computingdevice associated with a requestor or (as explained below) a potentialrequestor. A requestor client device includes a mobile device, such as alaptop, smartphone, or tablet associated with a requestor. But therequestor client devices 114 a-114 n may be any type of computing deviceas further explained below with reference to FIG. 7 . Each of therequestor client devices 114 a-114 n respectively include requestorapplications 116 a-116 n. In some embodiments, the requestorapplications 116 a-116 n comprise web browsers, applets, or othersoftware applications (e.g., native applications) available to therequestor client devices 114 a-114 n. Additionally, in some instances,the dynamic transportation matching system 102 provides data packetsincluding instructions that, when executed by the requestor clientdevices 114 a-114 n, create or otherwise integrate provider applications112 a-112 n within an application or webpage.

A requestor may use a requestor application to request transportationservices, receive a price estimate for the transportation service, andaccess other transportation-related services. For example, the requestor118 a may interact with the requestor client device 114 a throughgraphical user interfaces of the requestor application 116 a to enter apickup location and a destination for transportation. The dynamictransportation matching system 102 can in turn provide the requestorclient device 114 a with a price estimate for the transportation and anestimated time of arrival of a provider (or transportation vehicle)through the requestor application 116 a. Having received the priceestimate, the requestor 118 a may then select (and the requestor clientdevice 114 a detect) a selection of a transportation-request option torequest transportation services from the dynamic transportation matchingsystem 102.

Relatedly, the term “potential requestor” refers to a person who opensor initiates a software application of the dynamic transportationmatching system 102 and whose requestor client device sends a query fora price estimate and/or a query for an estimated time of arrival.Accordingly, a potential requestor enters in a pickup location anddestination for transportation (and optionally selects a transportationtype) by interacting with graphical user interfaces of a requestorapplication. In some embodiments, the potential requestor's associatedrequestor client device automatically sends a query for a price estimate(or a “price query”) and/or a query for an estimated time of arrival (or“arrival query”) to the dynamic transportation matching system 102 upondetecting a pickup location and destination for a potentialtransportation service (and sometimes a transportation type). In somesuch embodiments, a requestor client device sends a price query andarrival query together to the dynamic transportation matching system102, such as two queries encoded within data packets sent to the dynamictransportation matching system 102.

Additionally, or alternatively, the potential requestor's associatedrequestor client device sends a price query and/or an arrival query tothe dynamic transportation matching system 102 upon detecting aselection by the potential requestor for a price estimate. Although FIG.1 depicts and this disclosure often refers to the requestors 118 a and118 n as “requestors,” each of the requestors 118 a and 118 n were atone point “potential requestors.” To be clear, some potential requestorsdo not send a transportation request. To differentiate between the stageat which a person may be in requesting transportation, this disclosuredifferentiates between the terms “requestor” and “potential requestor.”

As just noted, the dynamic transportation matching system 102 optionallyprovides an estimated time of arrival to a requestor client device inresponse to an arrival query. The term “estimated time of arrival”refers to a time by which the dynamic transportation matching system 102estimates a transportation vehicle will arrive to pick up a requestor.For example, the dynamic transportation matching system 102 may providean estimated time of arrival of five minutes to the requestor clientdevice 114 a for the requestor 118 a in response to an arrival queryfrom the requestor client device 114 a. Relatedly, the term “targetestimated time of arrival” refers to a time set by or given to thedynamic transportation matching system 102 by which the dynamictransportation matching system 102 estimates a transportation vehiclewill arrive to pick up a requestor. For example, the dynamictransportation matching system 102 may set a target estimated time ofarrival according to a policy or service-level agreement that applies toa geographic area, geographic neighborhood, or larger geographic space.

As further shown in FIG. 1 , the dynamic transportation matching system102 sends requests from requestors 118 a-118 n to provider clientdevices 110 a-110 n within a vehicle subsystem. The term “vehiclesubsystem” refers to a system comprising a vehicle, client device, andother components. For example, a vehicle subsystem includes atransportation vehicle (not shown) and a provider client device, such asthe provider client device 110 a. The transportation vehicle may be anairplane, automobile, bicycle, motorcycle, or other vehicle. Althoughthis disclosure often describes a transportation vehicle as performingcertain functions, the transportation vehicle includes an associatedprovider client device that often performs a corresponding function. Forexample, when the dynamic transportation matching system 102 sends atransportation request to a transportation vehicle within the vehiclesubsystem 108 a—or queries location information from a transportationvehicle within the vehicle subsystem 108 a—the dynamic transportationmatching system 102 sends the transportation request or location queryto the provider client device 110 a.

Relatedly, the term “provider” refers to a driver or other person whooperates a transportation vehicle and/or who interacts with a providerclient device. For instance, a provider includes a person who drives atransportation vehicle along various routes to pick up and drop offrequestors. In certain embodiments, the vehicle subsystems 108 a-108 ninclude a provider. However, in other embodiments, some or all of thevehicle subsystems 108 a-108 n do not include a provider, but includeautonomous transportation vehicles—that is, a self-driving vehicle thatincludes computer components and accompanying sensors for drivingwithout manual-provider input from a human operator. When atransportation vehicle is an autonomous vehicle, the transportationvehicle may include additional components not depicted in FIG. 1 , suchas location components, one or more sensors by which the autonomousvehicle navigates, and/or other components necessary to navigate withouta provider (or with minimal interactions with a provider).

Additionally, in some embodiments, one or more of the vehicle subsystems108 a-108 n include a hybrid self-driving vehicle with both self-drivingfunctionality and some human operator interaction. This human operatorinteraction may work in concert with or independent of the self-drivingfunctionality. In other embodiments, one or more of the vehiclesubsystems 108 a-108 n include an autonomous provider that acts as partof the transportation vehicle, such as a computer-based navigation anddriving system that acts as part of a transportation vehicle. Regardlessof whether a transportation vehicle associated with a provider, atransportation vehicle optionally includes a locator device, such as aGPS device, that determines the location of the transportation vehiclewithin the vehicle subsystems 108 a-108 n.

As mentioned above, the vehicle subsystems 108 a-108 n respectivelyinclude provider client devices 110 a-110 n. The provider client devices110 a-110 n may be separate or integral to transportation vehicles. Forexample, the provider client device 110 a may refer to a separate mobiledevice, such as a laptop, smartphone, or tablet associated with thevehicle subsystem 108 a. But the provider client devices 110 a-110 n maybe any type of computing device as further explained below withreference to FIG. 7 . Additionally, or alternatively, the providerclient device 110 a may be a subcomponent of a vehicle computing system.Regardless of its form, the provider client devices 110 a-110 n mayinclude various sensors, such as a GPS locator, an inertial measurementunit, an accelerometer, a gyroscope, a magnetometer, and/or othersensors that the dynamic transportation matching system 102 can accessto obtain information, such as location information.

As further shown in FIG. 1 , the provider client devices 110 a-110 nrespectively include provider applications 112 a-112 n. In someembodiments, the provider applications 112 a-112 n comprise webbrowsers, applets, or other software applications (e.g., nativeapplications) available to the provider client devices 110 a-110 n.Additionally, in some instances, the dynamic transportation matchingsystem 102 provides data packets including instructions that, whenexecuted by the provider client devices 110 a-110 n, create or otherwiseintegrate provider applications 112 a-112 n within an application orwebpage.

In some embodiments, the dynamic transportation matching system 102communicates with the provider client devices 110 a-110 n through theprovider applications 112 a-112 n. Additionally, the providerapplications 112 a-112 n optionally include computer-executableinstructions that, when executed by the provider client devices 110a-110 n, cause the provider client devices 110 a-110 n to performcertain functions. For instance, the provider applications 112 a-112 ncan cause the provider client devices 110 a-110 n to communicate withthe dynamic transportation matching system 102 to navigate to a pickuplocation to pick up a requestor, collect fares, and/or view a multiplierreport.

As described further below with reference to FIG. 8 , in certainembodiments, the dynamic transportation matching system 102 connectstransportation requests with transportation vehicles. By connectingrequests with transportation vehicles, the dynamic transportationmatching system 102 manages the distribution and allocation of vehiclesubsystems 108 a-108 n and other user resources, such as GPS locationand availability indicators. To facilitate connecting requests withtransportation vehicles, the dynamic transportation matching system 102communicates with the provider client devices 110 a-110 a (through theprovider applications 112 a-112 n) and with the requestor client devices114 a-114 n (through the requestor applications 116 a-116 n). Forexample, the dynamic transportation matching system 102 uses machinelearners to determine a multiplier for a geographic area and a timeperiod and sends multiplier reports to the provider client devices 110a-110 n that reflect the multiplier. Additionally, or alternatively, inresponse to price queries and/or arrival queries, the dynamictransportation matching system 102 respectively sends price estimatesand/or estimated times of arrival to the requestor client devices 114a-114 n, where the price estimates reflect the multiplier.

As used in this disclosure, the term “multiplier” refers to a factor bywhich a base price is multiplied. The term “base price” in turn refersto a price for transportation that a dynamic transportation matchingsystem assigns or designates for transportation services originating ina geographic area, such as a base price per mile and/or per time unitfor transportation services originating in a geographic area. In someembodiments, the multiplier refers to a percentage or other number bywhich a base price for a geographic area is multiplied.

Relatedly, the term “time period” refers to an interval of timedetermined or set by the dynamic transportation matching system 102. Atime period may be any time interval, including, but not limited to, aone-minute interval and a one-hour interval. For example, a time periodmay be a one-minute interval from 2:15 p.m. to 2:16 p.m. on Thursday,Jun. 14, 2018. As another example, a time period may be a five-minuteinterval from 5:00 p.m. to 5:15 p.m. on Sunday, Feb. 4, 2018. In someembodiments, for example, the dynamic transportation matching system 102sets a time period for which to collect data, such as locationinformation, price estimates, estimated times of arrival, number ofavailable transportation vehicles, number of transportation requests,and other relevant data. In some such embodiments, the dynamictransportation matching system 102 collects and organizes the data bytime period and geographic area and/or geographic neighborhood. As notedabove, the dynamic transportation matching system 102 determines amultiplier for a specific geographic area and a time period.

For example, in one embodiment, the dynamic transportation matchingsystem 102 determines that a multiplier for a geographic area and acurrent time period is 15%. To notify providers of the multiplier forthe geographic area, the dynamic transportation matching system 102provides a multiplier report to the provider client devices 110 a-110 nwith an indication of the multiplier. The dynamic transportationmatching system 102 may also provide price estimates that account forthe multiplier to the requestor client devices 114 a-114 n during thetime period upon receiving a price query.

As used in this disclosure, the term “multiplier report” refers to areport that includes representations of one or more geographic areas andindications of the multiplier for the geographic areas. For example, amultiplier report may include a representation of multiple geographicareas and color indicators representing the multiplier for eachgeographic area (e.g., a different shade of pink representing adifferent multiplier determined for each geographic area). As describedbelow, FIG. 4 depicts an example of a multiplier report.

The term “price estimate” refers to an estimated price fortransportation. The dynamic transportation matching system 102optionally provides a price estimate that accounts for a multiplier toone of the requestor client devices 114 a-114 n. For example, when thedynamic transportation matching system 102 receives a price query fromthe requestor client device 114 a for transportation, the dynamictransportation matching system 102 sends a price estimate to therequestor client device 114 a. Assuming that a base price for thetransportation service is $3.00, for example, the dynamic transportationmatching system 102 optionally multiplies the base price by themultiplier (e.g., 15%) and adds the product (e.g., $0.45) to the baseprice. In this example, the dynamic transportation matching system 102would generate a price estimate (e.g., $3.45) for delivery to therequestor client device 114 a.

As explained further below, the dynamic transportation matching system102 trains machine learners to determine a multiplier. When trainingmachine learners, the dynamic transportation matching system 102optionally inputs data stored on a transportation matching database 106accessed by the server(s) 104. Accordingly, the server(s) 104 maygenerate, store, receive, and transmit any type of data, such aslocation information, price estimates, estimated times of arrival,number of available transportation vehicles for a geographic area, andother data stored in the transportation matching database 106. In somesuch embodiments, the dynamic transportation matching system 102organizes and stores such data in the transportation matching database106 by geographic area and time period. Additionally, in certainembodiments, the dynamic transportation matching system 102 organizesand stores such data in the transportation matching database 106 byaggregate geographic area and time period.

As shown in FIG. 1 , the server(s) 104 may comprise a content server.The server(s) 104 can also comprise a communication server or aweb-hosting server. Additional details regarding the server(s) 104 willbe discussed below with respect to FIG. 7 . Although not illustrated inFIG. 1 , in some embodiments, the environment 100 may have a differentarrangement of components and/or may have a different number or set ofcomponents altogether. For example, in some embodiments, the dynamictransportation matching system 102 and the provider client devices 110a-110 n can communicate directly, bypassing the network 120.

Turning now to FIG. 2 , this figure illustrates certain components ofthe dynamic transportation matching system 102. As noted above, thedynamic transportation matching system 102 uses machine learners todynamically generate and adjust a multiplier for a geographic area and atime period. To make such a determination, the dynamic transportationmatching system 102 trains each machine learner with either one or bothof historical transportation matching data and updated transportationmatching data. The dynamic transportation matching system 102 inputs thehistorical transportation matching data and/or updated transportationmatching data into the machine learners to generate various parameters,including efficiency parameters, supply parameters, and/or conversionparameters.

The dynamic transportation matching system 102 also optionally usesupdated transportation matching data as it becomes available for eachpassing time period. In other words, in some embodiments, the dynamictransportation matching system 102 continually inputs updatedtransportation matching data to dynamically adjust a set of parametersfor a subsequent time period of a geographic area. As part of thelearning process, the machine learners adjust parameters by iterativelycomparing the parameters they generate to observed transportationmatching data. In some such embodiments, the dynamic transportationmatching system 102 uses online machine learners that use freshlyupdated transportation matching data to adjust parameters.

As shown in FIG. 2 , the dynamic transportation matching system 102includes a first machine learner 202, a second machine learner 204, anda third machine learner 206. Each of the machine learners 202-206generate parameters that a multiplier model 214 uses as inputs. Themultiplier model 214 uses the parameters to determine a multiplier 216for a geographic area and a time period. Having determined themultiplier 216, in some embodiments, the dynamic transportation matchingsystem 102 sends a multiplier report including a representation of themultiplier 216 to the provider client devices 110 a-110 n. Additionally,or alternatively, in certain embodiments, the dynamic transportationmatching system 102 sends price estimates accounting for the multiplier216 to the requestor client devices 114 a-114 n.

When generating parameters, each of the machine learners 202-206iteratively generates parameters specific to a target geographic areaand target time period. In other words, the machine learners 202-206 usetransportation matching data for a geographic area and a time period tocreate each iteration of their respective parameters. Accordingly, whenidentifying the relevant transportation matching data for one of themachine learners 202-206, the dynamic transportation matching system 102determines certain quantities associated with both the geographic areaand the relevant time period.

For example, if the relevant time period is 12:06 to 12:07 a.m. onMonday, Jan. 1, 2018, the dynamic transportation matching system 102determines certain quantities of transportation matching data for aspecific geographic area (e.g., Chinatown North Beach) from 12:06 to12:07 on prior New Year's Days (e.g., the last five New Year's Days) andfor several minutes immediately preceding the time period. In otherexamples, the dynamic transportation matching system 102 usestransportation matching data associated with time periods representingone-minute increments, fifteen-minute increments, or other timeincrements on a day of the week of a specific month (e.g., the secondFriday in September). Additionally, in some embodiments, the dynamictransportation matching system 102 also uses transportation matchingdata associated with both a time period for an annual date (e.g., NewYear's Day, Valentine's Day, Fourth of July) and a day of a week (e.g.,first Monday in January second Wednesday in February first Wednesday inJuly).

As suggested above, the dynamic transportation matching system 102optionally comprises computer-executable instructions that cause theserver(s) 104 to perform one or more of the acts associated with thefirst machine learner 202, second machine learner 204, third machinelearner 206, and multiplier model 214. Rather than repeatedly describethe instructions within the dynamic transportation matching system 102as causing the server(s) 104 to perform certain acts, this disclosureprimarily describes the first machine learner 202, second machinelearner 204, third machine learner 206, and multiplier model 214 asperforming the acts as a shorthand for those relationships.

Turning now to the machine learners, the first machine learner 202generally uses historical or updated transportation matching data to maptransportation vehicles' target estimated times of arrival to reservetransportation vehicles. As used in this disclosure, the term “reservetransportation vehicle” refers to a transportation vehicle that is bothavailable to pick up a requestor in response to a transportation requestbut that does not ultimately pick up a requestor during a specific timeperiod. The first machine learner 202 seeks to determine numbers ofreserve transportation vehicles for one time period to ensure that ageographic area includes available transportation vehicles during animmediately following time period. In other words, the reservetransportation vehicles for one time period may become the availabletransportation vehicles for a subsequent time period. Without availabletransportation vehicles within a geographic area, the dynamictransportation matching system 102 may find it difficult or impossibleto maintain estimated times of arrival for pickup of a requestor in thegeographic area.

Similarly, the term “available transportation vehicle” refers to atransportation vehicle available to pick up a requestor in response to atransportation request. In some embodiments, an available transportationvehicle does not include a requestor. By contrast, in certainembodiments, an available transportation vehicle includes at least onerequestor, but the transportation vehicle may pick up additionalrequestors (e.g., as permitted by a transportation type selected by therequestor). Because the term “available transportation vehicle” does notdepend on whether a transportation vehicle ultimately picks up arequestor during a specific time period, a certain number of availabletransportation vehicles may include reserve transportation vehicles.

To map target estimated times of arrival to available transportationvehicles, the first machine learner 202 learns to generate efficiencyparameters 208 that define an arrival-time probability distribution of anumber of reserve transportation vehicles that are required to maintaina target estimated time of arrival for a geographic area and a timeperiod. The arrival-time probability distribution indicates a likelihoodthat a certain number of reserve transportation vehicles (for ageographic area during a time period) will maintain a target estimatedtime of arrival that the dynamic transportation matching system 102provides to a potential requestor (for the geographic area during thetime period). In some embodiments, the first machine learner 202 learnsto generate the efficiency parameters 208 that define the arrival-timeprobability distribution of the number of reserve transportationvehicles required to maintain a target estimated time of arrival withina target percentile (e.g., 65%, 75%, 85%) for the geographic area andthe time period. As used in this disclosure, the term “targetpercentile” refers to a predetermined probability that the dynamictransportation matching system 102 uses to measure confidence that atarget is obtained, such as maintaining a target estimated time ofarrival.

As suggested above, each iteration of the efficiency parameters 208 andthe arrival-time probability distribution is specific to the geographicarea and the time period. In other words, the first machine learner 202uses transportation matching data for a geographic area and a timeperiod to create each iteration of the arrival-time probabilitydistribution. Accordingly, when identifying the relevant transportationmatching data for the first machine learner 202, the dynamictransportation matching system 102 determines certain quantitiesassociated with both the geographic area and the relevant time period.

When training the first machine learner 202 to generate the efficiencyparameters 208, the dynamic transportation matching system 102optionally determines (and then inputs) transportation matching data forcertain time periods of a specific geographic area. For example, as afirst input for the first machine learner 202, the dynamictransportation matching system 102 optionally determines a number ofavailable transportation vehicles during prior time periods. Assuggested above, the dynamic transportation matching system 102 maydetermine a number of available transportation vehicles for a geographicarea during each of various prior time periods associated with a currentor subsequent time period (e.g., time periods on or within several daysof the same annual date and/or day of the week). As a second input forthe first machine learner 202, the dynamic transportation matchingsystem 102 optionally determines estimated times of arrival provided topotential requestors within the geographic area during prior timeperiods. Again, the dynamic transportation matching system 102 maydetermine estimated times of arrival provided to potential requestorswithin the geographic area during each of various prior time periodsassociated with a current or subsequent time period.

As additional time periods approach or pass, in some embodiments, thedynamic transportation matching system 102 determines updated inputs forthe first machine learner 202. For example, as a subsequent time periodbegins, the dynamic transportation matching system 102 determines, as anupdated first input for the first machine learner 202, an updated numberof available transportation vehicles for the geographic area during thesubsequent time period. Additionally, after the relevant time periodpasses, the dynamic transportation matching system 102 determines, as anupdated second input for the first machine learner 202, updatedestimated times of arrival provided to potential requestors within thegeographic area during the time period. In other words, the dynamictransportation matching system 102 optionally continues to inputtransportation matching data as each time period passes (e.g., minute byminute, hour by hour).

Having received inputs from the dynamic transportation matching system102, the first machine learner 202 applies an algorithm to the inputs togenerate the efficiency parameters 208. For example, in someembodiments, the first machine learner 202 applies a stochastic gradientdescent to the inputs. In some such embodiments, the first machinelearner 202 applies a lognormal-maximum-likelihood function to theinputs when performing a stochastic gradient descent. Alternatively, insome embodiments, the first machine learner 202 applies another suitablealgorithm to the inputs to generate the efficiency parameters 208. Suchalgorithms may include Kalman filters; Particle filters, which aresometimes called Sequential Monte Carlo (“SMC”) methods; Monte Carlosimulations, such as Markov chain Monte Carlo (“MCMC”); or Hidden MarkovModels (“HMM”).

By applying an algorithm, the first machine learner 202 generates theefficiency parameters 208 for the multiplier model 214. For example, thefirst machine learner 202 generates a first efficiency parameterrepresenting a mean for the arrival-time probability distribution, asecond efficiency parameter representing a variance for the arrival-timeprobability distribution, and a third efficiency parameter estimating anumber of available transportation vehicles outside of an aggregationradius but inside a dispatch radius. As suggested above, the firstmachine learner 202 uses the first efficiency parameter, the secondefficiency parameter, and the third efficiency parameter as variableswithin a lognormal-maximum-likelihood function that estimates anarrival-time probability distribution.

As used in this disclosure, the term “aggregation radius” refers to ageographic neighborhood comprising all geographic areas within apredetermined travel time from a specific geographic area. For example,an aggregation radius may include all geographic areas within 8 or 10minutes travel time from a geographic area of interest. Relatedly, theterm “dispatch radius” refers to a geographical radius comprisinglocations within a larger predetermined travel time from a specificgeographic area. For example, a dispatch radius may include locationswithin 15 or 20 minutes travel time from a geographic area of interest.Accordingly, a dispatch radius includes and often encompasses anaggregation radius. Moreover, when available transportation vehicles areoutside of an aggregation radius—but inside a dispatch radius—theavailable transportation vehicles are within the comparatively largerradius for a geographic area, but not within the comparatively smallerradius for the geographic area.

As noted above, in certain embodiments, the first machine learner 202uses online machine learning to update the efficiency parameters 208 asit determines updated inputs for additional time periods. As part oftraining the first machine learner 202, in some embodiments, the firstmachine learner 202 compares the efficiency parameters 208 it generatesfor a time period to the observed transportation matching data for thesame time period as that data becomes available. By comparing theefficiency parameters 208 to observed transportation matching data, thefirst machine learner 202 learns how to generate more accurateefficiency parameters 208 in subsequent iterations.

For example, the first machine learner 202 may compare the first,second, and third efficiency parameters (for a geographic area and atime period) to observed numbers of reserve transportation vehicles andobserved estimated times of arrival provided to potential requestors(for the geographic area and the time period). By making thiscomparison, the first machine learner 202 determines the accuracy of theefficiency parameters 208 that define an arrival-time probabilitydistribution of a number of reserve transportation vehicles required tomaintain a target estimated time of arrival for the geographic area andthe time period. When the efficiency parameters 208 define anarrival-time probability distribution inconsistent with the observednumbers of reserve transportation vehicles and observed estimated timesof arrival provided to potential requestors, the first machine learner202 updates the efficiency parameters 208 to be more accurate andaccounts for this adjustment in future iterations of the efficiencyparameters 208.

Turning now to the next machine learner, the second machine learner 204generally uses historical or updated transportation matching data to mapreserve transportation vehicles to numbers of transportation requests.As used in this disclosure, the term “number of transportation requests”refers to a number of requests for rides or for other forms oftransportation in transportation vehicles that the dynamictransportation matching system 102 can receive and still maintain anumber of reserve transportation vehicles (e.g., in a geographic area).

To map reserve transportation vehicles to numbers of transportationrequests, the second machine learner 204 learns to generate supplyparameters 210 that define a number of transportation requests a dynamictransportation matching system can process while maintaining the numberof reserve transportation vehicles for the geographic area and the timeperiod. In other words, when used in a function, the supply parameters210 define how many transportation requests the dynamic transportationmatching system 102 can receive and—in response—provide a transportationvehicle (for a geographic area during a time period) while stillmaintaining a certain number of reserve transportation vehicles (for ageographic area during a time period). In some embodiments, the secondmachine learner 204 uses the number of reserve transportation vehiclesidentified by the arrival-time probability distribution (from the firstmachine learner 202) to generate the supply parameters 210.

As suggested above, each iteration of the supply parameters 210 isspecific to the geographic area and the time period. In particular, thesecond machine learner 204 uses transportation matching data for ageographic neighborhood that includes the geographic area and a timeperiod to create each iteration of the supply parameters 210.Accordingly, when identifying the relevant transportation matching datafor the second machine learner 204, the dynamic transportation matchingsystem 102 determines certain quantities associated with both thegeographic neighborhood and the relevant time period.

When training the second machine learner 204 to generate the supplyparameters 210, the dynamic transportation matching system 102optionally determines (and then inputs) transportation matching data forcertain time periods of a specific geographic neighborhood, where thegeographic neighborhood includes a relevant geographic area. Forexample, as a first input for the second machine learner 204, thedynamic transportation matching system 102 optionally determines anumber of transportation requests for a geographic neighborhood duringprior time periods. In some such embodiments, the dynamic transportationmatching system 102 determines a number of transportation requests foreach of various prior time periods relevant to a current time period(e.g., time periods on or within several days of the same annual dateand/or day of the week) for transportation originating in a geographicneighborhood. As a second input for the second machine learner 204, thedynamic transportation matching system 102 optionally determines anumber of available transportation vehicles for the geographicneighborhood during prior time periods. In some cases, the dynamictransportation matching system 102 determines a number of availabletransportation vehicles for the geographic neighborhood during each ofvarious prior time periods relevant to a current time period (e.g., timeperiods on or within several days of the same annual date and/or day ofthe week).

As additional time periods approach or pass, in some embodiments, thedynamic transportation matching system 102 determines updated inputs forthe second machine learner 204. For example, as the relevant time periodpasses, the dynamic transportation matching system 102 determines, as anupdated first input for the second machine learner 204, an updatednumber of transportation requests for a geographic neighborhood duringthe time period. Additionally, after the relevant time period passes,the dynamic transportation matching system 102 determines, as an updatedsecond input for the second machine learner 204, an updated number ofavailable transportation vehicles for the geographic neighborhood duringthe time period. In other words, as with the first machine learner 202above, the dynamic transportation matching system 102 optionallycontinues to input transportation matching data into the second machinelearner 204 as each time period passes (e.g., minute by minute, hour byhour).

Having received inputs from the dynamic transportation matching system102, the second machine learner 204 applies an algorithm to the inputsto generate the supply parameters 210. For example, in some embodiments,the second machine learner 204 applies a Kalman filter to the inputs.Alternatively, in some embodiments, the second machine learner 204applies another algorithm to the inputs to generate the supplyparameters 210. Such algorithms may include stochastic gradient descent;Particle filters, which are sometimes called Sequential Monte Carlo(“SMC”) methods; Monte Carlo simulations, such as Markov chain MonteCarlo (“MCMC”), or Hidden Markov Models (“HMM”).

By applying an algorithm, the second machine learner 204 generates thesupply parameters 210 for the multiplier model 214. For example, thesecond machine learner 204 generates a first supply parameterrepresenting an estimated net inflow of transportation vehicles into ageographic neighborhood during the time period, where the geographicneighborhood includes the relevant geographic area. Additionally, thesecond machine learner 204 generates a second supply parameterrepresenting an estimated average number of transportation requests atransportation vehicle can support for the geographic neighborhoodduring the time period.

In some embodiments, the first and second supply parameters representpoint estimates of stochastic variables. As a point estimate, the firstsupply parameters may be considered a mean of a correspondingdistribution for net inflow of transportation vehicles in a geographicneighborhood during the time period. Again, as a point estimate, thesecond supply parameter may be considered a mean of a correspondingdistribution of transportation requests a transportation vehicle cansupport for the demographic neighborhood during the time period.

When generating the supply parameters 210, the second machine learner204 optionally uses a supply equation. In general, according to thesupply equation, the number of available transportation vehicles at timeone (t) plus time two (dt) equals the number of available transportationvehicles at time one (t) with the subtraction of the product of thesecond supply parameter and the number of transportation requests forthe geographic neighborhood with the addition of the first supplyparameter. In some embodiments, time one (t) plus time two (dt) togetherrepresent a time period, such as the change from time one (12:15 p.m.)to time two (12:16 p.m.).

Specifically, in the supply equation, a number of availabletransportation vehicles at time one (t) plus time two (dt) equals thesum of the number of available transportation vehicles at time one (t)and the inflow of available transportation vehicles in between time one(t) and time two (dt) with the subtraction of the outflow of availabletransportation vehicles between time one (t) and time two (dt). Usingthe supply equation, the number of providers who accept transportationrequests equals the product of the first supply parameter and the numberof transportation requests for a geographic neighborhood. Additionally,the second supply parameter equals the sum of the inflow of availabletransportation vehicles in between time one (t) and time two (dt) andthe outflow of available transportation vehicles between time one (t)and time two (dt). Accordingly, the number of available transportationvehicles at time one (t) plus time two (dt) equals the number ofavailable transportation vehicles at time one (t) with the subtractionof the product of the second supply parameter and the number oftransportation requests for the geographic neighborhood with theaddition of the first supply parameter.

As noted above, in certain embodiments, the second machine learner 204uses online machine learning to update the supply parameters 210 as itdetermines updated inputs for additional time periods. As part oftraining the second machine learner 204, in some embodiments, the secondmachine learner 204 compares the supply parameters 210 it generates fora time period to the observed transportation matching data for the sametime period as that data becomes available. By comparing the supplyparameters 210 to observed transportation matching data, the secondmachine learner 204 learns how to generate more accurate supplyparameters 210 in subsequent iterations.

For example, the second machine learner 204 may compare the first andsecond supply parameters (for a geographic area and a time period) toobserved numbers of reserve transportation vehicles and observed numbersof transportation requests (for the geographic area and the timeperiod). By making this comparison, the second machine learner 204determines the accuracy of the supply parameters 210 that define anumber of transportation requests a dynamic transportation matchingsystem can process while maintaining the number of reservetransportation vehicles for the geographic area and the time period.When the supply parameters 210 define a number of transportationrequests that is inconsistent with an observed numbers of transportationrequests that maintain a target number of reserve transportationvehicles, the second machine learner 204 updates the supply parameters210 to be more accurate and accounts for this adjustment in futureiterations of the supply parameters 210. Similarly, when the supplyparameters 210 define a number of transportation requests that isinconsistent with observed numbers of transportation requestsinsufficient to maintain a target number of reserve transportationvehicles, the second machine learner 204 updates the supply parameters210 to be more accurate and accounts for this adjustment in futureiterations of the supply parameters 210.

Turning now to the next machine learner, the third machine learner 206generally uses historical or updated transportation matching data to mapnumbers of transportation requests to multipliers. When mapping numbersof transportation requests to multipliers, the third machine learner 206learns to generate conversion parameters 212 that define a conversionprobability distribution identifying multipliers that induce the numberof transportation requests for the geographic area and the time period.The conversion probability distribution indicates a likelihood thatcertain multipliers (for a geographic area during a time period) willinduce the number of transportation requests (for the geographic areaduring the time period). In some embodiments, the third machine learner206 uses the number of transportation requests identified by the secondmachine learner 204 to generate the conversion parameters 212.

As suggested above, each iteration of the conversion parameters 212 andthe conversion probability distribution is specific to the geographicarea and the time period. In other words, the third machine learner 206uses transportation matching data for a geographic area and a timeperiod to create each iteration of the conversion probabilitydistribution. Accordingly, when identifying the relevant transportationmatching data for the third machine learner 206, the dynamictransportation matching system 102 determines certain quantitiesassociated with both the geographic area and the relevant time period.

To train the third machine learner 206 to generate the conversionparameters 212, the dynamic transportation matching system 102optionally determines (and then inputs) transportation matching data forcertain time periods of a specific geographic neighborhood, where thegeographic neighborhood includes a relevant geographic area. Forexample, as a first input for the third machine learner 206, the dynamictransportation matching system 102 optionally determines a number ofpotential requestors whose client devices sent price queries for ageographic neighborhood during prior time periods. In some suchembodiments, the dynamic transportation matching system 102 determines anumber of potential requestors for each of various prior time periodsrelevant to a current time period (e.g., time periods on or withinseveral days of the same annual date and/or day of the week).

As a second input for the third machine learner 206, the dynamictransportation matching system 102 optionally determines a priceestimate accounting for a prior-applied multiplier provided to eachpotential requestor for the geographic neighborhood during the priortime periods. In some cases, the dynamic transportation matching system102 determines a price estimate provided to each potential requestor foreach of various prior time periods relevant to a current time period(e.g., time periods on or within several days of the same annual dateand/or day of the week).

As a third input for the third machine learner 206, the dynamictransportation matching system 102 optionally determines a conversionrate of potential requestors who submitted a transportation request forthe geographic neighborhood during the prior time periods. In some suchembodiments, the dynamic transportation matching system 102 determines aconversion rate of potential requestors for each of various prior timeperiods relevant to a current time period (e.g., time periods on orwithin several days of the same annual date and/or day of the week).

As additional time periods approach or pass, in some embodiments, thedynamic transportation matching system 102 determines updated inputs forthe third machine learner 206. For example, after a relevant time periodpasses, the dynamic transportation matching system 102 determines, as anupdated first input for the third machine learner 206, an updated numberof potential requestors whose client devices sent price queries for ageographic neighborhood during the time period. Additionally, after therelevant time period passes, the dynamic transportation matching system102 determines, as an updated second input for the third machine learner206, an updated price estimate accounting for an applied multiplierprovided to each potential requestor for the geographic neighborhoodduring the time period. Moreover, after the relevant time period passes,the dynamic transportation matching system 102 determines, as an updatedthird input for the third machine learner 206, an updated conversionrate of potential requestors who submitted a transportation request forthe geographic neighborhood during the time period. In other words, thedynamic transportation matching system 102 optionally continues to inputtransportation matching data into the third machine learner 206 as eachtime period passes (e.g., minute by minute, hour by hour).

Having received inputs from the dynamic transportation matching system102, the third machine learner 206 applies an algorithm to the inputs togenerate the supply parameters 210. For example, in some embodiments,the third machine learner 206 applies a Kalman filter to the inputs.Alternatively, in some embodiments, the third machine learner 206applies another algorithm to the inputs to generate the conversionparameters 212. Such algorithms may include stochastic gradient descent;Particle filters, which are sometimes called Sequential Monte Carlo(“SMC”) methods; Monte Carlo simulations, such as Markov chain MonteCarlo (“MCMC”); or Hidden Markov Models (“HMM”).

By applying an algorithm, the third machine learner 206 generates theconversion parameters 212 for the multiplier model 214. For example, thethird machine learner 206 generates a first conversion parameterrepresenting a transportation-request probability of receiving atransportation request when the multiplier does not affect a base pricefor the geographic area during the time period. Additionally, the thirdmachine learner 206 generates a second conversion parameter representinga rate at which the transportation-request probability decreases as themultiplier increases.

In some embodiments, the third machine learner 206 uses the followingdefinition of transportation-request probability to generate the firstand second conversion parameters. Specifically, a transportation-requestprobability equals the probability of receiving a transportation requestwhen the multiplier is zero or does not affect a base price (i.e., P₀)multiplied by a rate at which the transportation-request probabilitydecreases per unit of the multiplier increasing (i.e., (1−r)) raised tothe multiplier divided by twenty five (i.e., P_(t)/25). In other words,the transportation-request probability equals P₀*(1−r){circumflex over( )}(P_(t)/25).

As noted above, in certain embodiments, the third machine learner 206uses online machine learning to update the conversion parameters 212 asit determines updated inputs for additional time periods. As part oftraining the third machine learner 206, in some embodiments, the thirdmachine learner 206 compares the conversion parameters 212 it generatesfor a time period to the observed transportation matching data for thesame time period as that data becomes available. By comparing theconversion parameters 212 to observed transportation matching data, thethird machine learner 206 learns how to generate more accurateconversion parameters 212 in subsequent iterations.

Additionally, when using online machine learning to update theconversion parameters 212, the third machine learner 206 optionallyperforms a Bayesian update of the first and second conversion parametersgenerated for each time period. In particular, the third machine learner206 uses a slope-intercept equation of y=a+b*p, where the intercept aequals−log P₀, the slope b equals−log (1−r)/25, and p represents themultiplier. The third machine learner 206 performs a Bayesian update ofthe intercept a and the slope b from sequential observations ofmultipliers at each time period (i.e., p_(t)) and log probabilities ateach time period (i.e., y_(t)=−log P_(t)(transportation requests)).

The third machine learner 206 may compare the first and secondconversion parameters (for a geographic area and a time period) toobserved multipliers and observed numbers of transportation requests(for the geographic area and the time period). By making thiscomparison, the third machine learner 206 determines the accuracy of theconversion parameters 212 that define a conversion probabilitydistribution identifying multipliers that induce the number oftransportation requests for the geographic area and the time period.When the conversion parameters 212 define a conversion probabilitydistribution inconsistent with the observed multipliers and observednumbers of transportation requests, the third machine learner 206updates the conversion parameters 212 to be more accurate and accountsfor this adjustment in future iterations of the conversion parameters212.

After the machine learners 202-206 generate the efficiency parameters208, supply parameters 210, and/or the conversion parameters 212, themultiplier model 214 uses the parameters as inputs to determine themultiplier 216. As suggested above, the multiplier model 214 determinesthe multiplier 216 for the dynamic transportation matching system 102 tomultiply by a base price for a specific geographic area and time period.Consistent with the disclosure above, the multiplier model 214determines the multiplier 216 to facilitate movement of transportationvehicles in and out of a geographic area during a time period. In someembodiments, the multiplier 216 adds to a base price to attractproviders of transportation vehicles to a geographic area and maintain atarget estimated time of arrival for pickup of a requestor.

When determining the multiplier 216, the multiplier model 214 analyzesthe arrival-time probability distribution defined by the efficiencyparameters 208 to determine a number of reserve transportation vehiclesthat, to a predetermined probability (e.g., 65%, 75%, 85%), willmaintain a target estimated time of arrival for the geographic area andthe time period. The dynamic transportation matching system 102 sets thetarget estimated time of arrival, such as by a policy or service-levelagreement. Having determined the number of reserve transportationvehicles using the arrival-time probability distribution, the multipliermodel 214 uses the supply parameters 210 and the supply function todetermine a number of transportation requests that, to a predeterminedprobability, will maintain the number of reserve transportationvehicles. Finally, the multiplier model 214 analyzes the conversionprobability distribution defined by the conversion parameters 212 todetermine a multiplier that, to a predetermined probability, will inducethe number of transportation requests for the geographic area and thetime period.

As suggested above, in some embodiments, the multiplier model 214iteratively performs this analysis to update the multiplier 216 forsubsequent time periods of the geographic area. In other words, as themachine learners 202-206 generate updated efficiency parameters 208,updated supply parameters 210, and updated conversion parameters 212 forsubsequent time periods, the multiplier model 214 also updates themultiplier 216. By updating the multiplier 216, the multiplier model 214dynamically adjusts the multiplier 216 as transportation requests andavailable transportation vehicles vary from time period to time period.

In addition to updating the multiplier 216, in some embodiments, themultiplier model 214 generates and applies a smoothing parameter toensure that multiplier reports and price estimates do not fluctuate toorapidly from one time period to another time period. In other words, themultiplier model 214 uses a smoothing parameter to temporally smoothchanges in multiplier reports and price estimates with incrementaladjustments.

When using a smoothing parameter, the multiplier model 214 optionallydetermines a smoothed multiplier using a smoothing function. Forexample, in some embodiments, the multiplier model 214 uses thesmoothing factor as both a weight for a multiplier determined for asubsequent time period and a counter weight for a multiplier determinedfor a prior time period. In some such embodiments, the multiplier model214 determines a smoothed multiplier for a time period one (ti) as equalto the sum of the smoothing parameter subtracted from the integer oneand multiplied by a first multiplier determined for a time period naught(to) and the smoothing parameter multiplied by a second multiplierdetermined for the time period one (ti).

As further shown in FIG. 2 , the dynamic transportation matching system102 sends a multiplier report including a representation of themultiplier 216 to the provider client devices 110 a-110 n. The providerclient devices 110 a-110 n then optionally present the multiplier reportwithin graphical user interfaces of the provider applications 112 a-112n. As the multiplier model 214 updates the multiplier 216, the dynamictransportation matching system 102 sends an updated multiplier reportincluding a representation of the updated multiplier 216 to the providerclient devices 110 a-110 n.

Additionally, or alternatively, in certain embodiments, the dynamictransportation matching system 102 sends price estimates accounting forthe multiplier 216 to the requestor client devices 114 a-114 n inresponse to price queries 218. As the dynamic transportation matchingsystem 102 receives the price queries 218, it also tracks which of theprice queries 218 convert into transportation requests 220. As shown inFIG. 2 , the third machine learner 206 receives the price queries 218and the transportation requests 220 to determine a conversion rate. Thisdetermination enables the third machine learner 206 to detect pricesensitivity and adjust the conversion parameters 212 accordingly fromtime period to time period.

Turning now to FIGS. 3A-3B, these figures illustrate a geographicneighborhood 300 that includes a geographic area 302 at two differenttime periods. FIG. 3A depicts the geographic neighborhood 300 and thegeographic area 302 during a first time period. FIG. 3B depicts thegeographic neighborhood 300 and the geographic area 302 during a secondtime period. Consistent with the disclosure above, the dynamictransportation matching system 102 determines the first multiplier forthe geographic area 302 and the first time period, as well as a secondmultiplier for the geographic area 302 and the second time period. Thedynamic transportation matching system 102 determines the first andsecond multipliers based in part on transportation matching datagenerated by provider client devices and requestor client devices withinor around the geographic neighborhood 300 (e.g., some of the providerclient devices 110 a-110 n and the requestor client devices 114 a-114n).

As shown in FIG. 3A, the geographic neighborhood 300 includestransportation vehicles 304 b-304 i. A transportation vehicle 304 a isalso shown outside of the geographic neighborhood 300. Consistent withthe disclosure above, provider client devices associated with thetransportation vehicles 304 a-304 i send various and currenttransportation matching data to the dynamic transportation matchingsystem 102, including, but not limited to, data concerning location;availability for a transportation request; and engagement with atransportation request to pick up, transport, or drop off a requestor.Based on this current transportation matching data, the dynamictransportation matching system 102 determines that, during the firsttime period (e.g., beginning of the first time period), thetransportation vehicle 304 a is outside of the geographic neighborhood300, the transportation vehicles 304 b-304 i are within the geographicneighborhood 300, and the transportation vehicles 304 d-304 f are withinthe geographic area 302. Similarly, the dynamic transportation matchingsystem 102 also determines that, during the first time period (e.g.,beginning of the first time period), the transportation vehicles 304 a,304 b, 304 d, and 304 e are available to pick up a requestor (i.e.,available transportation vehicles) and that transportation vehicles 304c, 304 f, 304 g, and 304 i are unavailable to pick up a requestor (i.e.,unavailable transportation vehicles). In other words, transportationvehicles 304 c, 304 f, 304 g, and 304 i are picking up, transporting, ordropping off requestors.

As further shown in FIG. 3A, the geographic neighborhood 300 includespotential requestors 306 a and 306 b and requestors 308 a and 308 b.Consistent with the disclosure above, requestor client devicesassociated with the potential requestors 306 a and 306 b and with therequestors 308 a and 308 b send various and current transportationmatching data to the dynamic transportation matching system 102,including, but not limited to, data concerning location, arrivalqueries, price queries, transportation requests, and paymentinformation. Based on this current transportation matching data, thedynamic transportation matching system 102 determines that, during thefirst time period (e.g., beginning of the first time period), thepotential requestor 306 a and the requestor 308 a are inside thegeographic neighborhood 300, but outside of the geographic area 302.Similarly, the dynamic transportation matching system 102 determinesthat, during the first time period (e.g., beginning of the first timeperiod), the potential requestor 306 b and the requestor 308 b areinside both the geographic neighborhood 300 and the geographic area 302.

In some embodiments, the dynamic transportation matching system 102 usessome of the current transportation matching data as inputs for themachine learners 202-206 to determine the first multiplier. For example,as inputs for the first machine learner 202 during the first timeperiod, the dynamic transportation matching system 102 determines thatthe geographic area 302 includes two available transportation vehicles304 d and 304 e and that the dynamic transportation matching system 102provided potential requestor 306 b an estimated time of arrival of fourminutes. Additionally, as inputs for the third machine learner 206 forthe first time period, the dynamic transportation matching system 102determines that the geographic neighborhood 300 includes two potentialrequestors 306 a and 306 b whose client devices sent price queries andthat the dynamic transportation matching system 102 provided potentialrequestors 306 a and 306 b with price estimates of $17.00 and $25.00,respectively.

Based in part on the inputs for the first time period just described,the first machine learner 202 and the third machine learner 206 generateefficiency parameters and conversion parameters for the geographic area302 and the first time period. Consistent with the disclosure above, themultiplier model 214 uses the parameters generated by the machinelearners 202-206 to determine a first multiplier for the geographic area302 and the first time period. The dynamic transportation matchingsystem 102 optionally uses the first multiplier to provide multiplierreports to providers and price estimates to potential requestors duringthe first time period.

Although the dynamic transportation matching system 102 may not use someof the current transportation matching data as immediate inputs for themachine learners 202-206, it gathers current transportation matchingdata for the first time period to use for comparison and adjustment ofparameters and as inputs for subsequent time periods. For example, asinputs for the second machine learner 204 for the second time period,the dynamic transportation matching system 102 determines that therequestors 308 a and 308 b sent two transportation requests for ridesoriginating within the geographic neighborhood 300 during the first timeperiod and that the geographic neighborhood 300 includes four availabletransportation vehicles 304 b, 304 d, 304 e, and 304 h during the firsttime period.

FIG. 3B illustrates a change in location for each of the transportationvehicles 304 a-304 i and a new transportation vehicle 304 j near theborder of the geographic neighborhood 300. Based on updatedtransportation matching data from the provider client devices associatedwith the transportation vehicles 304 a-304 i, the dynamic transportationmatching system 102 determines that, during the second time period(e.g., beginning of the second time period), the transportation vehicle304 j is outside of the geographic neighborhood 300, the transportationvehicles 304 a-304 h are within the geographic neighborhood 300, and thetransportation vehicle 304 f is within the geographic area 302.Similarly, the dynamic transportation matching system 102 determinesthat, during the second time period (e.g., beginning of the second timeperiod), the transportation vehicles 304 a, 304 b, 304 d, 304 f, 304 h,and 304 j are available to pick up a requestor (i.e., availabletransportation vehicles) and that transportation vehicles 304 c, 304 g,304 e, and 304 i are unavailable to pick up a requestor (i.e.,unavailable transportation vehicles). In other words, transportationvehicles 304 c, 304 g, 304 e, and 304 i are picking up, transporting, ordropping off requestors. By contrast, the transportation vehicle 304 fdropped off a requestor previously riding in the transportation vehicle304 f and is now available to pick up a requestor.

FIG. 3B also illustrates a change in status for the potential requestors306 a and 306 b and the requestors 308 a and 308 b, as well as a newpotential requestor 306 c and a new requestor 308 c. Based on updatedtransportation matching data from the requestor client devicesassociated with the potential requestors 306 a-306 c and the requestors308 a-308 c, the dynamic transportation matching system 102 determinesthat, during the second time period (e.g., beginning of the second timeperiod), each of the potential requestors 306 a and 306 b's respectiverequestor client devices—and the requestor 308 c's requestor clientdevice—have sent a transportation request. Accordingly, as shown in FIG.3B, the potential requestors 306 a and 306 b are now requestors. Bycontrast, the dynamic transportation matching system 102 receives aprice query and/or arrival query (but not yet a transportation request)from a requestor client device associated with the potential requestor306 c during the second time period (e.g., beginning of the second timeperiod). Moreover, the dynamic transportation matching system 102determines that, during the second time period (e.g., beginning of thesecond time period), the requestor 308 a is still waiting for atransportation vehicle for pickup, but that the transportation vehicle304 e picked up the requestor 308 b and is transporting her to adestination.

Additionally, based on the updated transportation matching data, thedynamic transportation matching system 102 determines that, during thesecond time period (e.g., beginning of the second time period), thepotential requestor 306 a and the requestors 308 a and 308 c are insidethe geographic neighborhood 300, but outside of the geographic area 302.Similarly, the dynamic transportation matching system 102 determinesthat, during the second time period (e.g., beginning of the second timeperiod), the potential requestors 306 b and 308 c are inside both thegeographic neighborhood 300 and the geographic area 302.

In some embodiments, the dynamic transportation matching system 102 usessome of the updated transportation matching data as inputs for themachine learners 202-206 to determine the second multiplier. Forexample, as inputs for the first machine learner 202 during the secondtime period, the dynamic transportation matching system 102 determinesthat the geographic area 302 includes one available transportationvehicle 304 f and that the dynamic transportation matching system 102provided potential requestor 306 c an estimated time of arrival of threeminutes. Additionally, as inputs for the third machine learner 206 forthe second time period, the dynamic transportation matching system 102determines that the geographic neighborhood 300 includes one potentialrequestor 306 c whose client device sent a price query and that thedynamic transportation matching system 102 provided the potentialrequestor 306 c with a price estimate of $27.00.

As for the first time period—and based in part on the inputs for thesecond time period described above—the first machine learner 202 and thethird machine learner 206 generate efficiency parameters and conversionparameters for the geographic area 302 and the second time period. Asdescribed above, the multiplier model 214 uses the parameters generatedby the machine learners 202-206 to determine the second multiplier forthe geographic area 302 and the second time period. The dynamictransportation matching system 102 optionally uses the second multiplierto provide multiplier reports to providers and price estimates topotential requestors during the second time period.

As with the first time period, the dynamic transportation matchingsystem 102 also gathers updated transportation matching data for thesecond time period to use for comparison and adjustment of parametersand as inputs for subsequent time periods. For example, as inputs forthe second machine learner 204 for a subsequent time period, the dynamictransportation matching system 102 determines that the potentialrequestors 306 a and 306 b and the requestor 308 c sent threetransportation requests for transportation services originating withinthe geographic neighborhood 300 during the second time period and thatthe geographic neighborhood 300 includes five available transportationvehicles 304 a, 304 b, 304 d, 304 f, and 304 h during the second timeperiod.

FIGS. 3A-3B provide a snapshot comparing the first and second timeperiods. As subsequent time periods approach and pass, in someembodiments, the dynamic transportation matching system 102 continues tocollect and update transportation matching data for subsequent timeperiods. The dynamic transportation matching system 102 likewisecontinues to update parameters to in turn update and determine newmultipliers for the geographic area 302.

Turning now to FIG. 4 , this figure illustrates the provider clientdevice 110 a presenting a multiplier report 406 within a graphical userinterface 404 of a screen 402. As suggested above, the providerapplication 112 a comprises computer-executable instructions that causethe provider client device 110 a to perform tasks depicted in FIG. 4 ,such as sending a transportation-vehicle-report request or presentingthe multiplier report 406. Rather than repeatedly describe thecomputer-executable instructions within the provider application 112 aas causing the provider client device 110 a to perform such tasks, thisdisclosure primarily describes the provider client device 110 a asperforming such tasks as a shorthand for that relationship.

Consistent with the disclosure above, the multiplier report 406facilitates inflow and outflow of transportation vehicles within andwithout a geographic area, such as the inflow and outflow oftransportation vehicles 304 a-304 j within and without the geographicarea 302. The multiplier report 406 facilitates such inflow and outflowby dynamically representing multipliers for the geographic area 302 (andfor other geographic areas) for presentation to providers. The higherthe multiplier for a geographic area, the more incentive a provider hasto drive a transportation vehicle into the geographic area to pick uprequestors in response to a transportation request.

As shown in FIG. 4 , the multiplier report 406 includes a map 414 and anoverlay of a geographic-neighborhood graphic 408 and a geographic-areagraphic 410. In this example, the geographic-neighborhood graphic 408represents the geographic neighborhood 300, and the geographic-areagraphic 410 represents the geographic area 302. Although not labeled byreference number, the map 414 includes additional graphics representingareas outside of the geographic neighborhood 300 and the geographic area302, including area graphic 412. While the multiplier report 406represents each of the geographic areas within the geographicneighborhood 300 and areas outside the geographic neighborhood 300 withthe underlying map 414, in this particular embodiment, the multiplierreport 406 does not represent borders for each geographic area. In otherembodiments, however, the dynamic transportation matching system 102generates multiplier reports that depict borders for each geographicarea.

As further depicted in FIG. 4 , the multiplier report includes a colorindicator for each of the geographic areas within thegeographic-neighborhood graphic 408, including the geographic-areagraphic 410, and the geographic areas within the area graphic 412.Although FIG. 4 depicts the color indicators as patterns, the colorindicators may, for example, represent different shades of a color thatcorrespond to a multiplier (e.g., different shades of pink, red, orblue). In this example, a darker color (or denser pattern) represents ahigher multiplier, and no color (or no pattern) represents nomultiplier. In other embodiments, a color scheme (or pattern scheme)includes a color (or pattern) corresponding to each multiplier, with nocolor (or no pattern) corresponding to no multiplier. In any case, insome embodiments, the multiplier may equal zero with no visiblecorresponding indicator.

As shown in FIG. 4 , for example, the color indicator for thegeographic-area graphic 410 represents a 150% multiplier that applies toa base price for the geographic area 302 during a time period. The colorindicators for other geographic areas represented within thegeographic-neighborhood graphic 408 represents a 100% multiplier thatapplies to base prices for the other geographic areas within thegeographic neighborhood 300 during the time period, excluding thegeographic area 302. Finally, the color indicators for geographic areasrepresented within the area graphic 412 represent a 50% multiplier thatapplies to base prices for the geographic areas within the area.

While the multiplier report 406 represents multipliers for eachgeographic area with color indicators, in some embodiments, the dynamictransportation matching system 102 represents multipliers with differentindicators. For example, the dynamic transportation matching system 102optionally generates and provides multiplier reports that representmultipliers with different borders, emojis, icons, patterns, numbers, orany other suitable indicator.

As noted above, the dynamic transportation matching system 102optionally updates a multiplier for each geographic area with each timeperiod. Consequently, the dynamic transportation matching system 102also optionally updates multiplier reports to reflect the updatedmultipliers. For example, in some embodiments, the dynamictransportation matching system 102 sends data packets to one or more ofthe provider client devices 110 a-110 n comprising instructions that,when executed by the provider client devices 110 a-110 n, cause one ormore of the provider client devices 110 a-110 n to render an updatedmultiplier report.

As the multiplier for a geographic region changes, the dynamictransportation matching system 102 alters the instructions to representa different indicator for the geographic region. The dynamictransportation matching system 102 sends to a provider client deviceupdated instructions that represent different indicators (and thusdifferent multipliers for a geographic area) as the multipliers for arelevant geographic area changes and/or at set intervals as part of acyclical update. For example, after receiving atransportation-vehicle-report request from the provider client device110 a, the dynamic transportation matching system 102 optionally sendsupdated instructions to represent a different indicator for a geographicarea as each time period passes or as the multiplier for a geographicarea changes.

Turning now to FIG. 5 , this figure illustrates the requestor clientdevice 114 a presenting a price estimate that accounts for a multiplierand a transportation-request option 516 within a graphical userinterface 504 of a screen 502. As suggested above, the requestorapplication 116 a comprises computer-executable instructions that causethe requestor client device 114 a to perform tasks depicted in FIG. 5 ,such as sending a price query or presenting a price estimate. Ratherthan repeatedly describe the computer-executable instructions within therequestor application 116 a as causing the requestor client device 114 ato perform such tasks, this disclosure primarily describes the requestorclient device 114 a as performing such tasks as a shorthand for thatrelationship.

FIG. 5 illustrates a set of tools that the requestor application 116 aincludes to facilitate sending arrival queries, price queries, andtransportation requests. As shown, the graphical user interface 504includes a transportation-type field 509, a pickup-location field 512,and a destination field 514. In response to the requestor 118 a enteringor selecting a transportation type within the transportation-type field509, a pickup location within the pickup-location field 512, and adestination in the destination field 514, the requestor client device114 a sends an arrival query and a price query to the dynamictransportation matching system 102. Upon receiving the arrival query andthe price query, the dynamic transportation matching system 102generates a price estimate for transportation that accounts for amultiplier. In particular, the dynamic transportation matching system102 generates a price estimate using a base price and a multiplierdetermined for a current time period of the geographic area thatincludes the pickup location. Additionally, the dynamic transportationmatching system 102 generates an estimated time of arrival for atransportation vehicle to pick up the requestor 118 a at the pickuplocation.

As further indicated by FIG. 5 , the dynamic transportation matchingsystem 102 sends the price estimate and the estimated time of arrival tothe requestor client device 114 a in response to the price query and thearrival query, respectively. Upon receiving data packets from thedynamic transportation matching system 102 that encode for the priceestimate and the estimated time of arrival, the requestor client device114 a presents the price estimate within a price-estimate field 510 andthe estimated time of arrival within an arrival-time indicator 508. Insome embodiments, the dynamic transportation matching system 102 furthersends a dropoff-time estimate to the requestor client device 114 a,which the requestor client device 114 a presents within a dropoff-timeindicator 506.

Upon receiving the price estimate and the estimated time of arrival, therequestor client device 114 a activates a transportation-request option516. As its name suggests, in response to the requestor 118 a selectingthe transportation-request option 516 (e.g., by touch gesture or click),the requestor client device 114 a sends a transportation request to thedynamic transportation matching system 102. Upon receiving thetransportation request, the dynamic transportation matching system 102sends the transportation request to one or more of the provider clientdevices 110 a-110 n.

While FIG. 5 illustrates one example of a price estimate, in a differenttime period, the dynamic transportation matching system 102 may generateand send a different price estimate to a requestor client device for aprice query with the same pickup location and destination. As notedabove, in some embodiments, the dynamic transportation matching system102 dynamically adjusts a multiplier for a geographic area including thepickup location. Accordingly, as the multiplier for the geographic areachanges, the dynamic transportation matching system 102 sends priceestimates to requestor client devices that reflect the updatedmultiplier.

Turning now to FIG. 6 , this figure illustrates a flowchart of a seriesof acts 600 of using machine learners to generate parameters fordetermining a multiplier that facilitates movement of transportationvehicles in and out of a geographic area during a time period inaccordance with one or more embodiments. While FIG. 6 illustrates actsaccording to one embodiment, alternative embodiments may omit, add to,reorder, and/or modify any of the acts shown in FIG. 6 . The acts ofFIG. 6 can be performed as part of a method. Alternatively, anon-transitory computer readable storage medium can compriseinstructions that, when executed by one or more processors, cause acomputing device to perform the acts depicted in FIG. 6 . In stillfurther embodiments, a system can perform the acts of FIG. 6 .

As shown in FIG. 6 , the acts 600 include an act 610 of utilizing afirst matching learner to generate a set of efficiency parameters. Inparticular, the act 610 includes utilizing a first machine learner togenerate a set of efficiency parameters that define an arrival-timeprobability distribution of a number of reserve transportation vehiclesrequired to maintain a target estimated time of arrival for a geographicarea and a time period. In some such embodiments, utilizing the firstmachine learner to generate the set of efficiency parameters comprisesutilizing the first machine learner to generate the set of efficiencyparameters that define the arrival-time probability distribution of thenumber of reserve transportation vehicles required to maintain thetarget estimated time of arrival at all locations within the geographicarea during the time period.

Similarly, in certain embodiments, utilizing the first machine learnerto generate the set of efficiency parameters comprises utilizing thefirst machine learner to generate the set of efficiency parameters thatdefine the arrival-time probability distribution of the number ofreserve transportation vehicles required to maintain a target estimatedtime of arrival within a target percentile for the geographic area andthe time period.

For example, in some embodiments, utilizing the first machine learner togenerate the set of efficiency parameters comprises implementing astochastic gradient descent to generate the set of efficiency parametersthat define the arrival-time probability distribution of the number ofreserve transportation vehicles required to maintain the targetestimated time of arrival for the geographic area and the time period.Additionally, in certain embodiments, the first machine learner is anonline machine learner.

Relatedly, in some embodiments, utilizing the first machine learner togenerate the set of efficiency parameters comprises: determining, as afirst input for the first machine learner, the number of availabletransportation vehicles for the geographic area during prior timeperiods; and determining, as a second input for the first machinelearner, estimated times of arrival provided to potential requestorswithin the geographic area during the prior time periods.

Additionally, in certain embodiments, utilizing the first machinelearner to generate the set of efficiency parameters comprises utilizingthe first machine learner to generate: a first efficiency parameterrepresenting a mean for the arrival-time probability distribution; asecond efficiency parameter representing a variance for the arrival-timeprobability distribution; and a third efficiency parameter estimating anumber of available transportation vehicles outside of an aggregationradius but inside a dispatch radius.

As further shown in FIG. 6 , the acts 600 include an act 620 ofutilizing a second machine learner to generate a set of supplyparameters. In particular, the act 620 includes utilizing a secondmachine learner to generate a set of supply parameters that define anumber of transportation requests a dynamic transportation matchingsystem can process while maintaining the number of reservetransportation vehicles for the geographic area and the time period.

For example, in some embodiments, utilizing the second machine learnerto generate the set of supply parameters comprises implementing a Kalmanfilter to generate the set of supply parameters that define the numberof transportation requests a dynamic transportation matching system canprocess while maintaining the number of reserve transportation vehiclesfor the geographic area and the time period. Additionally, in certainembodiments, the second machine learner is an online machine learner.

Relatedly, in some embodiments, utilizing the second machine learner togenerate the set of supply parameters comprises: determining, as a firstinput for the second machine learner, a number of transportationrequests for a geographic neighborhood during prior time periods, thegeographic neighborhood including the geographic area; and determining,as a second input for the second machine learner, a number of availabletransportation vehicles for the geographic neighborhood during priortime periods.

Additionally, in certain embodiments, utilizing the second machinelearner to generate the set of supply parameters comprises utilizing thesecond machine learner to generate: a first supply parameterrepresenting an estimated net inflow of transportation vehicles into ageographic neighborhood during the time period, the geographicneighborhood including the geographic area; and a second supplyparameter representing an estimated average number of transportationrequests a transportation vehicle can support for the geographicneighborhood during the time period.

As further shown in FIG. 6 , the acts 600 include an act 630 ofutilizing a third machine learner to generate a set of conversionparameters. In particular, the act 630 includes utilizing a thirdmachine learner to generate a set of conversion parameters that define aconversion probability distribution identifying multipliers that inducethe number of transportation requests for the geographic area and thetime period.

For example, in some embodiments, utilizing the third machine learner togenerate the set of conversion parameters comprises implementing aKalman filter to generate the set of conversion parameters that definethe conversion probability distribution identifying the multipliers thatinduce the number of transportation requests for the geographic area andthe time period. Additionally, in certain embodiments, the third machinelearner is an online machine learner.

Relatedly, in some embodiments, utilizing the third machine learner togenerate the set of conversion parameters comprises: determining, as afirst input for the third machine learner, a number of potentialrequestors whose client devices sent price queries for a geographicneighborhood during prior time periods, the geographic neighborhoodincluding the geographic area; determining, as a second input for thethird machine learner, a price estimate accounting for a prior-appliedmultiplier provided to each potential requestor for the geographicneighborhood during the prior time periods; and determining, as a thirdinput for the third machine learner, a conversion rate of potentialrequestors who submitted a transportation request for the geographicneighborhood during the prior time periods.

Additionally, in certain embodiments, utilizing the third machinelearner to generate the set of conversion parameters comprises utilizingthe third machine learner to generate: a first conversion parameterrepresenting a transportation-request probability of receiving atransportation request when the multiplier does not affect a base pricefor the geographic area during the time period; and a second conversionparameter representing a rate at which the transportation-requestprobability decreases as the multiplier increases.

As further shown in FIG. 6 , the acts 600 include an act 640 ofdetermining a multiplier for a geographic area and a time period. Inparticular, the act 640 includes determining a multiplier for thegeographic area and the time period based on at least one of the set ofefficiency parameters, the set of supply parameters, or the set ofconversion parameters. For example, in certain embodiments, determiningthe multiplier for the geographic area and the time period based on theset of efficiency parameters, the set of supply parameters, and the setof conversion parameters comprises generating a smoothing parameter forapplication to prior multipliers for the geographic area and prior timeperiods; and determining the multiplier for the geographic area and thetime period based in part on the smoothing parameter.

In addition to the acts 610-640, in some embodiments, the acts 600further include generating a multiplier report comprising arepresentation of the geographic area and an indication of themultiplier for the geographic area. For example, in some embodiments,generating the multiplier report comprises generating a map fortransportation vehicles comprising a representation of the geographicarea and a color indicator for the multiplier for the geographic area.

In addition (or in the alternative) to generating a multiplier report,in some embodiments, the acts 600 further include determining, as anupdated first input for the first machine learner, an updated number ofavailable transportation vehicles for the geographic area during asubsequent time period; determining, as an updated second input for thefirst machine learner, updated estimated times of arrival provided topotential requestors within the geographic area during the time period;and utilizing the first machine learner to generate an updated set ofefficiency parameters that define an updated arrival-time probabilitydistribution of an updated number of reserve transportation vehiclesrequired to maintain the target estimated time of arrival for thegeographic area and the subsequent time period.

Additionally, in some embodiments, the acts 600 further includedetermining, as an updated first input for the second machine learner,an updated number of transportation requests for a geographicneighborhood during the time period, the geographic neighborhoodincluding the geographic area; determining, as an updated second inputfor the second machine learner, an updated number of availabletransportation vehicles for the geographic neighborhood during the timeperiod; and utilizing the second machine learner to generate an updatedset of supply parameters that define an updated number of transportationrequests to maintain an updated number of reserve transportationvehicles for the geographic area and a subsequent time period.

Similarly, in some embodiments, the acts 600 further includedetermining, as an updated first input for the third machine learner, anupdated number of potential requestors whose client devices sent pricequeries for a geographic neighborhood during a time period, thegeographic neighborhood including the geographic area; determining, asan updated second input for the third machine learner, an updated priceestimate accounting for an applied multiplier provided to each potentialrequestor for the geographic neighborhood during the time period;determining, as an updated third input for the third machine learner, anupdated conversion rate of potential requestors who submitted atransportation request for the geographic neighborhood during the timeperiod; and utilizing the third machine learner to generate an updatedset of conversion parameters that define an updated conversionprobability distribution identifying updated multipliers that induce anupdated number of transportation requests for the geographic area and asubsequent time period.

Embodiments of the present disclosure may comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentdisclosure also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. In particular, one or more of the processes described hereinmay be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices (e.g., any of the media content access devicesdescribed herein). In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein.

Computer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system, including byone or more servers. Computer-readable media that storecomputer-executable instructions are non-transitory computer-readablestorage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, embodiments of the disclosure can compriseat least two distinctly different kinds of computer-readable media:non-transitory computer-readable storage media (devices) andtransmission media.

Non-transitory computer-readable storage media (devices) includes RAM,ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM),Flash memory, phase-change memory (“PCM”), other types of memory, otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media tonon-transitory computer-readable storage media (devices) (or viceversa). For example, computer-executable instructions or data structuresreceived over a network or data link can be buffered in RAM within anetwork interface module (e.g., a “NIC”), and then eventuallytransferred to computer system RAM and/or to less volatile computerstorage media (devices) at a computer system. Thus, it should beunderstood that non-transitory computer-readable storage media (devices)can be included in computer system components that also (or evenprimarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general-purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. In someembodiments, computer-executable instructions are executed on ageneral-purpose computer to turn the general-purpose computer into aspecial purpose computer implementing elements of the disclosure. Thecomputer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, or evensource code. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, virtual reality devices, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,and the like. The disclosure may also be practiced in distributed systemenvironments where local and remote computer systems, which are linked(either by hardwired data links, wireless data links, or by acombination of hardwired and wireless data links) through a network,both perform tasks. In a distributed system environment, program modulesmay be located in both local and remote memory storage devices.

Embodiments of the present disclosure can also be implemented in cloudcomputing environments. In this description, “cloud computing” isdefined as a model for enabling on-demand network access to a sharedpool of configurable computing resources. For example, cloud computingcan be employed in the marketplace to offer ubiquitous and convenienton-demand access to the shared pool of configurable computing resources.The shared pool of configurable computing resources can be rapidlyprovisioned via virtualization and released with low management effortor service provider interaction, and then scaled accordingly.

A cloud-computing model can be composed of various characteristics suchas, for example, on-demand self-service, broad network access, resourcepooling, rapid elasticity, measured service, and so forth. Acloud-computing model can also expose various service models, such as,for example, Software as a Service (“SaaS”), Platform as a Service(“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computingmodel can also be deployed using different deployment models such asprivate cloud, community cloud, public cloud, hybrid cloud, and soforth. In this description and in the claims, a “cloud-computingenvironment” is an environment in which cloud computing is employed.

FIG. 7 illustrates, in block diagram form, an exemplary computing device700 that may be configured to perform one or more of the processesdescribed above. One will appreciate that the dynamic transportationmatching system 102 can comprise implementations of the computing device700, including, but not limited to, the server(s) 104, the providerclient devices 110 a-110 n, and the requestor client devices 114 a-114n. As shown by FIG. 7 , the computing device can comprise a processor702, memory 704, a storage device 706, an I/O interface 708, and acommunication interface 710. In certain embodiments, the computingdevice 700 can include fewer or more components than those shown in FIG.7 . Components of computing device 700 shown in FIG. 7 will now bedescribed in additional detail.

In particular embodiments, processor(s) 702 includes hardware forexecuting instructions, such as those making up a computer program. Asan example, and not by way of limitation, to execute instructions,processor(s) 702 may retrieve (or fetch) the instructions from aninternal register, an internal cache, memory 704, or a storage device706 and decode and execute them.

The computing device 700 includes memory 704, which is coupled to theprocessor(s) 702. The memory 704 may be used for storing data, metadata,and programs for execution by the processor(s). The memory 704 mayinclude one or more of volatile and non-volatile memories, such asRandom Access Memory (“RAM”), Read Only Memory (“ROM”), a solid-statedisk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of datastorage. The memory 704 may be internal or distributed memory.

The computing device 700 includes a storage device 706 includes storagefor storing data or instructions. As an example, and not by way oflimitation, storage device 706 can comprise a non-transitory storagemedium described above. The storage device 706 may include a hard diskdrive (“HDD”), flash memory, a Universal Serial Bus (“USB”) drive or acombination of these or other storage devices.

The computing device 700 also includes one or more input or output(“I/O”) interface 708, which are provided to allow a user (e.g.,requestor or provider) to provide input to (such as user strokes),receive output from, and otherwise transfer data to and from thecomputing device 700. These I/O interface 708 may include a mouse,keypad or a keyboard, a touch screen, camera, optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerface 708. The touch screen may be activated with a stylus or afinger.

The I/O interface 708 may include one or more devices for presentingoutput to a user, including, but not limited to, a graphics engine, adisplay (e.g., a display screen), one or more output providers (e.g.,display providers), one or more audio speakers, and one or more audioproviders. In certain embodiments, interface 708 is configured toprovide graphical data to a display for presentation to a user. Thegraphical data may be representative of one or more graphical userinterfaces and/or any other graphical content as may serve a particularimplementation.

The computing device 700 can further include a communication interface710. The communication interface 710 can include hardware, software, orboth. The communication interface 710 can provide one or more interfacesfor communication (such as, for example, packet-based communication)between the computing device and one or more other computing devices 700or one or more networks. As an example, and not by way of limitation,communication interface 710 may include a network interface controller(“NIC”) or network adapter for communicating with an Ethernet or otherwire-based network or a wireless NIC (“WNIC”) or wireless adapter forcommunicating with a wireless network, such as a WI-FI. The computingdevice 700 can further include a bus 712. The bus 712 can comprisehardware, software, or both that couples components of computing device700 to each other.

FIG. 8 illustrates an example network environment 800 of a dynamictransportation matching system. The network environment 800 includes aclient device 806, a dynamic transportation matching system 802, and avehicle subsystem 808 connected to each other by a network 804. AlthoughFIG. 8 illustrates a particular arrangement of the client device 806,dynamic transportation matching system 802, vehicle subsystem 808, andnetwork 804, this disclosure contemplates any suitable arrangement ofclient device 806, dynamic transportation matching system 802, vehiclesubsystem 808, and network 804. As an example, and not by way oflimitation, two or more of client device 806, dynamic transportationmatching system 802, and vehicle subsystem 808 communicate directly,bypassing network 804. As another example, two or more of client device806, dynamic transportation matching system 802, and vehicle subsystem808 may be physically or logically co-located with each other in wholeor in part. Moreover, although FIG. 8 illustrates a particular number ofclient devices 806, dynamic transportation matching systems 802, vehiclesubsystems 808, and networks 804, this disclosure contemplates anysuitable number of client devices 806, dynamic transportation matchingsystems 802, vehicle subsystems 808, and networks 804. As an example,and not by way of limitation, network environment 800 may includemultiple client device 806, dynamic transportation matching systems 802,vehicle subsystems 808, and networks 804.

This disclosure contemplates any suitable network 804. As an example,and not by way of limitation, one or more portions of network 804 mayinclude an ad hoc network, an intranet, an extranet, a virtual privatenetwork (“VPN”), a local area network (“LAN”), a wireless LAN (“WLAN”),a wide area network (“WAN”), a wireless WAN (“WWAN”), a metropolitanarea network (“MAN”), a portion of the Internet, a portion of the PublicSwitched Telephone Network (“PSTN”), a cellular telephone network, or acombination of two or more of these. Network 804 may include one or morenetworks 804.

Links may connect client device 806, dynamic transportation matchingsystem 802, and vehicle subsystem 808 to network 804 or to each other.This disclosure contemplates any suitable links. In particularembodiments, one or more links include one or more wireline (such as forexample Digital Subscriber Line (“DSL”) or Data Over Cable ServiceInterface Specification (“DOCSIS”), wireless (such as for example Wi-Fior Worldwide Interoperability for Microwave Access (“WiMAX”), or optical(such as for example Synchronous Optical Network (“SONET”) orSynchronous Digital Hierarchy (“SDH”) links. In particular embodiments,one or more links each include an ad hoc network, an intranet, anextranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of theInternet, a portion of the PSTN, a cellular technology-based network, asatellite communications technology-based network, another link, or acombination of two or more such links. Links need not necessarily be thesame throughout network environment 800. One or more first links maydiffer in one or more respects from one or more second links.

In particular embodiments, client device 806 may be an electronic deviceincluding hardware, software, or embedded logic components or acombination of two or more such components and capable of carrying outthe appropriate functionalities implemented or supported by clientdevice 806. As an example, and not by way of limitation, a client device806 may include any of the computing devices discussed above in relationto FIG. 7 . A client device 806 may enable a network user at clientdevice 806 to access network 804. A client device 806 may enable itsuser to communicate with other users at other client devices 806.

In particular embodiments, client device 806 may include a requestorapplication or a web browser, such as MICROSOFT INTERNET EXPLORER,GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons,plug-ins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A userat client device 806 may enter a Uniform Resource Locator (“URL”) orother address directing the web browser to a particular server (such asserver), and the web browser may generate a Hyper Text Transfer Protocol(“HTTP”) request and communicate the HTTP request to server. The servermay accept the HTTP request and communicate to client device 806 one ormore Hyper Text Markup Language (“HTML”) files responsive to the HTTPrequest. Client device 806 may render a webpage based on the HTML filesfrom the server for presentation to the user. This disclosurecontemplates any suitable webpage files. As an example, and not by wayof limitation, webpages may render from HTML files, Extensible HyperText Markup Language (“XHTML”) files, or Extensible Markup Language(“XML”) files, according to particular needs. Such pages may alsoexecute scripts such as, for example and without limitation, thosewritten in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinations ofmarkup language and scripts such as AJAX (Asynchronous JAVASCRIPT andXML), and the like. Herein, reference to a webpage encompasses one ormore corresponding webpage files (which a browser may use to render thewebpage) and vice versa, where appropriate.

In particular embodiments, dynamic transportation matching system 802may be a network-addressable computing system that can host atransportation matching network. Dynamic transportation matching system802 may generate, store, receive, and send data, such as, for example,user-profile data, concept-profile data, text data, transportationrequest data, GPS location data, provider data, requestor data, vehicledata, or other suitable data related to the transportation matchingnetwork. This may include authenticating the identity of providersand/or vehicles who are authorized to provide transportation servicesthrough the dynamic transportation matching system 802. In addition, thedynamic transportation matching system may manage identities of servicerequestors such as users/requestors. In particular, the dynamictransportation matching system may maintain requestor data such asdriving/riding histories, personal data, or other user data in additionto navigation and/or traffic management services or other locationservices (e.g., GPS services).

In particular embodiments, the dynamic transportation matching system802 may manage transportation matching services to connect auser/requestor with a vehicle and/or provider. By managing thetransportation matching services, the dynamic transportation matchingsystem 802 can manage the distribution and allocation of resources fromthe vehicle systems 108 a and 108 n and user resources such as GPSlocation and availability indicators, as described herein.

Dynamic transportation matching system 802 may be accessed by the othercomponents of network environment 800 either directly or via network804. In particular embodiments, dynamic transportation matching system802 may include one or more servers. Each server may be a unitary serveror a distributed server spanning multiple computers or multipledatacenters. Servers may be of various types, such as, for example andwithout limitation, web server, news server, mail server, messageserver, advertising server, file server, application server, exchangeserver, database server, proxy server, another server suitable forperforming functions or processes described herein, or any combinationthereof. In particular embodiments, each server may include hardware,software, or embedded logic components or a combination of two or moresuch components for carrying out the appropriate functionalitiesimplemented or supported by server. In particular embodiments, dynamictransportation matching system 802 may include one or more data stores.Data stores may be used to store various types of information. Inparticular embodiments, the information stored in data stores may beorganized according to specific data structures. In particularembodiments, each data store may be a relational, columnar, correlation,or other suitable database. Although this disclosure describes orillustrates particular types of databases, this disclosure contemplatesany suitable types of databases. Particular embodiments may provideinterfaces that enable a client device 806, or a dynamic transportationmatching system 802 to manage, retrieve, modify, add, or delete, theinformation stored in data store.

In particular embodiments, dynamic transportation matching system 802may provide users with the ability to take actions on various types ofitems or objects, supported by dynamic transportation matching system802. As an example, and not by way of limitation, the items and objectsmay include transportation matching networks to which users of dynamictransportation matching system 802 may belong, vehicles that users mayrequest, location designators, computer-based applications that a usermay use, transactions that allow users to buy or sell items via theservice, interactions with advertisements that a user may perform, orother suitable items or objects. A user may interact with anything thatis capable of being represented in dynamic transportation matchingsystem 802 or by an external system of a third-party system, which isseparate from dynamic transportation matching system 802 and coupled todynamic transportation matching system 802 via a network 804.

In particular embodiments, dynamic transportation matching system 802may be capable of linking a variety of entities. As an example, and notby way of limitation, dynamic transportation matching system 802 mayenable users to interact with each other or other entities, or to allowusers to interact with these entities through an application programminginterfaces (“API”) or other communication channels.

In particular embodiments, dynamic transportation matching system 802may include a variety of servers, sub-systems, programs, modules, logs,and data stores. In particular embodiments, dynamic transportationmatching system 802 may include one or more of the following: a webserver, action logger, API-request server, relevance-and-ranking engine,content-object classifier, notification controller, action log,third-party-content-object-exposure log, inference module,authorization/privacy server, search module, advertisement-targetingmodule, user-interface module, user-profile store, connection store,third-party content store, or location store. Dynamic transportationmatching system 802 may also include suitable components such as networkinterfaces, security mechanisms, load balancers, failover servers,management-and-network-operations consoles, other suitable components,or any suitable combination thereof. In particular embodiments, dynamictransportation matching system 802 may include one or more user-profilestores for storing user profiles. A user profile may include, forexample, biographic information, demographic information, behavioralinformation, social information, or other types of descriptiveinformation, such as work experience, educational history, hobbies orpreferences, interests, affinities, or location.

The web server may include a mail server or other messagingfunctionality for receiving and routing messages between dynamictransportation matching system 802 and one or more client devices 806.An action logger may be used to receive communications from a web serverabout a user's actions on or off dynamic transportation matching system802. In conjunction with the action log, a third-party-content-objectlog may be maintained of user exposures to third-party-content objects.A notification controller may provide information regarding contentobjects to a client device 806. Information may be pushed to a clientdevice 806 as notifications, or information may be pulled from clientdevice 806 responsive to a request received from client device 806.Authorization servers may be used to enforce one or more privacysettings of the users of dynamic transportation matching system 802. Aprivacy setting of a user determines how particular informationassociated with a user can be shared. The authorization server may allowusers to opt in to or opt out of having their actions logged by dynamictransportation matching system 802 or shared with other systems, suchas, for example, by setting appropriate privacy settings.Third-party-content-object stores may be used to store content objectsreceived from third parties. Location stores may be used for storinglocation information received from client devices 806 associated withusers.

In addition, the vehicle subsystem 808 can include a human-operatedvehicle or an autonomous vehicle. A provider of a human-operated vehiclecan perform maneuvers to pick up, transport, and drop off one or morerequestors according to the embodiments described herein. In certainembodiments, the vehicle subsystem 808 can include an autonomousvehicle—i.e., a vehicle that does not require a human operator. In theseembodiments, the vehicle subsystem 808 can perform maneuvers,communicate, and otherwise function without the aid of a human provider,in accordance with available technology.

In particular embodiments, the vehicle subsystem 808 may include one ormore sensors incorporated therein or associated thereto. For example,sensor(s) 810 can be mounted on the top of the vehicle subsystem 808 orelse can be located within the interior of the vehicle subsystem 808. Incertain embodiments, the sensor(s) 810 can be located in multiple areasat once—i.e., split up throughout the vehicle subsystem 808 so thatdifferent components of the sensor(s) 810 can be placed in differentlocations in accordance with optimal operation of the sensor(s) 810. Inthese embodiments, the sensor(s) 810 can include a LIDAR sensor and aninertial measurement unit (“IMU”) including one or more accelerometers,one or more gyroscopes, and one or more magnetometers. The sensor(s) 810can additionally or alternatively include a wireless IMU (“WIMU”), oneor more cameras, one or more microphones, or other sensors or data inputdevices capable of receiving and/or recording information relating tonavigating a route to pick up, transport, and/or drop off a requestor.

In particular embodiments, the vehicle subsystem 808 may include acommunication device capable of communicating with the client device 806and/or the dynamic transportation matching system 802. For example, thevehicle subsystem 808 can include an on-board computing devicecommunicatively linked to the network 804 to transmit and receive datasuch as GPS location information, sensor-related information, requestorlocation information, or other relevant information.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. Various embodimentsand aspects of the invention(s) are described with reference to detailsdiscussed herein, and the accompanying drawings illustrate the variousembodiments. The description above and drawings are illustrative of theinvention and are not to be construed as limiting the invention.Numerous specific details are described to provide a thoroughunderstanding of various embodiments of the present invention.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. For example, the methods described herein may beperformed with less or more steps/acts or the steps/acts may beperformed in differing orders. Additionally, the steps/acts describedherein may be repeated or performed in parallel with one another or inparallel with different instances of the same or similar steps/acts. Thescope of the invention is, therefore, indicated by the appended claimsrather than by the foregoing description. All changes that come withinthe meaning and range of equivalency of the claims are to be embracedwithin their scope.

We claim:
 1. A method comprising: receiving, from a requestor clientdevice, a first query for transportation corresponding to a geographicarea during a first time period; generating, utilizing one or moremachine learners, a first set of parameters defining a first number oftransportation requests that can be processed for the geographic area atthe first time period; determining, for display on the requestor clientdevice and based on the first set of parameters, a first price estimatefor transportation accounting for a first multiplier for the geographicarea; receiving, from one or more requestor client devices, one or moresecond queries for transportation corresponding to the geographic areaduring a second time period; generating, utilizing the one or moremachine learners, a second set of parameters defining a second number oftransportation requests that can be processed for the geographic area atthe second time period; and determining, for display on the one or morerequestor client devices and based on the second set of parameters, asecond price estimate for transportation accounting for a secondmultiplier for the geographic area.
 2. The method of claim 1, wherein:receiving the first query for transportation corresponding to thegeographic area comprises receiving a first transportation request fortransportation from a pickup location; and receiving a second query fortransportation of the one or more second queries corresponding to thegeographic area comprises receiving a second transportation request fortransportation from the pickup location.
 3. The method of claim 1,wherein: receiving the first query for transportation corresponding tothe geographic area comprises receiving a first transportation requestfor transportation to a destination; and receiving a second query fortransportation of the one or more second queries corresponding to thegeographic area comprises receiving a second transportation request fortransportation to the destination.
 4. The method of claim 1, wherein thefirst time period and the second time period are separated by aone-minute to a five-minute interval.
 5. The method of claim 1, furthercomprising: applying a smoothing parameter to the first multiplier; anddetermining a price change from the first price estimate to the secondprice estimate based on the smoothing parameter applied to the firstmultiplier.
 6. The method of claim 1, wherein receiving, from the one ormore requestor client devices, the one or more second queries fortransportation comprises receiving, from the requestor client device, asecond query for transportation corresponding to the geographic areaduring the second time period.
 7. The method of claim 1, furthercomprising: determining a number of previous transportation requests anda number of previously available transportation vehicles for ageographic region comprising the geographic area during prior timeperiods; and generating, utilizing the one or more machine learners, thefirst set of parameters defining the first number of transportationrequests based on the number of previous transportation requests and thenumber of previously available transportation vehicles.
 8. A systemcomprising: at least one processor; and at least one non-transitorycomputer readable storage medium storing instructions that, whenexecuted by the at least one processor, cause the system to: receive,from a requestor client device, a first query for transportationcorresponding to a geographic area during a first time period; generate,utilizing one or more machine learners, a first set of parametersdefining a first number of transportation requests that can be processedfor the geographic area at the first time period; determine, for displayon the requestor client device and based on the first set of parameters,a first price estimate for transportation accounting for a firstmultiplier for the geographic area; receive, from one or more requestorclient devices, one or more second queries for transportationcorresponding to the geographic area during a second time period;generate, utilizing the one or more machine learners, a second set ofparameters defining a second number of transportation requests that canbe processed for the geographic area at the second time period; anddetermine, for display on the one or more requestor client devices andbased on the second set of parameters, a second price estimate fortransportation accounting for a second multiplier for the geographicarea.
 9. The system of claim 8, further comprising instructions that,when executed by the at least one processor, cause the system to:receive the first query for transportation corresponding to thegeographic area by receiving a first transportation request fortransportation from a pickup location; and receive a second query fortransportation of the one or more second queries corresponding to thegeographic area by receiving a second transportation request fortransportation from the pickup location.
 10. The system of claim 8,further comprising instructions that, when executed by the at least oneprocessor, cause the system to: receive the first query fortransportation corresponding to the geographic area by receiving a firsttransportation request for transportation to a destination; and receivea second query for transportation of the one or more second queriescorresponding to the geographic area by receiving a secondtransportation request for transportation to the destination.
 11. Thesystem of claim 8, wherein the first time period and the second timeperiod are separated by a one-minute to a five-minute interval.
 12. Thesystem of claim 8, further comprising instructions that, when executedby the at least one processor, cause the system to: apply a smoothingparameter to the first multiplier; and determine a price change from thefirst price estimate to the second price estimate based on the smoothingparameter applied to the first multiplier.
 13. The system of claim 8,further comprising instructions that, when executed by the at least oneprocessor, cause the system to receive, from the one or more requestorclient devices, the one or more second queries for transportation byreceiving, from the requestor client device, a second query fortransportation corresponding to the geographic area during the secondtime period.
 14. The system of claim 8, further comprising theinstructions that, when executed by the at least one processor, causethe system to: determine a number of previous transportation requestsand a number of previously available transportation vehicles for ageographic region comprising the geographic area during prior timeperiods; and generating, utilizing the one or more machine learners, thesecond set of parameters defining the second number of transportationrequests based on the number of previous transportation requests and thenumber of previously available transportation vehicles.
 15. Anon-transitory computer readable medium storing instructions thereonthat, when executed by at least one processor, cause a system to:receive, from a requestor client device, a first query fortransportation corresponding to a geographic area during a first timeperiod; generate, utilizing one or more machine learners, a first set ofparameters defining a first number of transportation requests that canbe processed for the geographic area at the first time period;determine, for display on the requestor client device and based on thefirst set of parameters, a first price estimate for transportationaccounting for a first multiplier for the geographic area; receive, fromone or more requestor client devices, one or more second queries fortransportation corresponding to the geographic area during a second timeperiod; generate, utilizing the one or more machine learners, a secondset of parameters defining a second number of transportation requeststhat can be processed for the geographic area at the second time period;and determine, for display on the one or more requestor client devicesand based on the second set of parameters, a second price estimate fortransportation accounting for a second multiplier for the geographicarea.
 16. The non-transitory computer readable medium of claim 15,further comprising instructions that, when executed by the at least oneprocessor, cause the system to: receive the first query fortransportation corresponding to the geographic area by receiving a firsttransportation request for transportation from a pickup location; andreceive a second query for transportation of the one or more secondqueries corresponding to the geographic area by receiving a secondtransportation request for transportation from the pickup location. 17.The non-transitory computer readable medium of claim 15, furthercomprising instructions that, when executed by the at least oneprocessor, cause the system to: receive the first query fortransportation corresponding to the geographic area by receiving a firsttransportation request for transportation to a destination; and receivea second query for transportation of the one or more second queriescorresponding to the geographic area by receiving a secondtransportation request for transportation to the destination.
 18. Thenon-transitory computer readable medium of claim 15, wherein the firsttime period and the second time period are separated by a one-minute toa five-minute interval.
 19. The non-transitory computer readable mediumof claim 15, further comprising instructions that, when executed by theat least one processor, cause the system to: apply a smoothing parameterto the first multiplier; and determine a price change from the firstprice estimate to the second price estimate based on the smoothingparameter applied to the first multiplier.
 20. The non-transitorycomputer readable medium of claim 15, further comprising instructionsthat, when executed by the at least one processor, cause the system toreceive, from the one or more requestor client devices, the one or moresecond queries for transportation by receiving, from the requestorclient device, a second query for transportation corresponding to thegeographic area during the second time period.